3

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

如果没有原生的 Symbian/S60 等价物,Qt 空间中是否有我应该关注的东西?QMessageBox 似乎没有像我预期的那样工作。

4

2 回答 2

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");

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

资料来源:诺基亚

于 2009-10-29T18:50:40.037 回答
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,如果选择了右键。

希望这可以帮助。

于 2010-06-25T10:15:32.243 回答