Стандартные уведомления или стили оповещений в Symbian (Qt / S60)?

StackOverflow https://stackoverflow.com/questions/1637671

Вопрос

Я создаю приложение с использованием Qt на платформе Symbian / S60, и мне было интересно, есть ли стандартное окно уведомлений, которое я мог бы использовать для передачи сообщений пользователям. Используя другие платформы в качестве примеров, я ищу что-то эквивалентное методу alert () Javascript или методам NSRunAlert * компании Cocoa.

Если нет собственного эквивалента Symbian / S60, есть ли что-то в пространстве Qt, на которое я должен обратить внимание? QMessageBox, похоже, не работает так, как я мог бы ожидать.

Это было полезно?

Решение

Вы можете использовать класс RNotifier из любого кода Symbian (и из Qt тоже). Этот класс может отображать уведомления даже из безоконных программ, таких как серверы 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, если выбрана правая кнопка.

Надеюсь, это поможет.

Другие советы

По-видимому, нет способа получить доступ к родным окнам уведомлений из собственно 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top