Symbian(Qt / S60)中的标准通知或警报样式?

时间:2009-10-28 14:36:55

标签: c++ user-interface qt symbian s60

我正在Symbian / S60平台上使用Qt构建一个应用程序,我想知道是否有一个标准的通知窗口可以用来将消息传递给用户。使用其他平台作为示例,我正在寻找与Javascript的alert()方法或Cocoa的NSRunAlert *方法等效的东西。

如果没有本机的Symbian / S60等价物,Qt空间中有什么我应该看的东西吗? QMessageBox似乎没有像我预期的那样工作。

2 个答案:

答案 0 :(得分:5)

显然,没有办法从Qt正确访问本机通知窗口。我确实找到了以下内容:

//Create warning message box
QMessageBox::warning(0,"Warning", "Warning message text");
//Create information message box
QMessageBox::information(0, "Information", "Information message text");
//Create critical message box
QMessageBox::critical(0, "Critical", "Critical message text");

仍然不是我想要的,但它必须这样做。

来源:Nokia

答案 1 :(得分:4)

您可以从任何Symbian代码(以及Qt)使用RNotifier类。该类甚至可以从无窗口程序(如Symbian服务器)显示通知。它使用简单:

    RNotifier notifier;
    User::LeaveIfError(notifier.Connect());
    TInt buttonVal;
    TRequestStatus lStatus;
    notifier.Notify(_L("First line of notification"), _L("Second line of notification"), _L("Left button text"), _L("Right button text"), buttonVal, lStatus);
    User::WaitForRequest(lStatus);
    notifier.Close();

在User :: WaitForRequest(lStatus)完成后,您可以检查buttonVal的值以了解按下了哪个按钮。如果选择了左键,则设置为:0; 1,如果选择了右键。

希望这有帮助。