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

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

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


person Chris J. Karr    schedule 28.10.2009    source источник


Ответы (2)


Вы можете использовать класс 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, если выбрана правая кнопка.

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

person Haspemulator    schedule 25.06.2010
comment
В итоге я использовал вариант этого подхода, но тем не менее спасибо за ответ. :-) - person Chris J. Karr; 29.06.2010

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

person Chris J. Karr    schedule 29.10.2009