我正在Symbian/S60平臺上構建一個使用Qt的應用程序,我想知道是否有一個標準的通知窗口可用於將消息傳遞給用戶。使用其他平臺作爲示例,我正在尋找相當於Javascript的alert()方法或Cocoa的NSRunAlert *方法的東西。Symbian(Qt/S60)中的標準通知或提示樣式?
如果沒有原生的Symbian/S60等價物,Qt空間中是否有某些東西需要考慮? QMessageBox似乎並沒有像我想象的那樣工作。
我正在Symbian/S60平臺上構建一個使用Qt的應用程序,我想知道是否有一個標準的通知窗口可用於將消息傳遞給用戶。使用其他平臺作爲示例,我正在尋找相當於Javascript的alert()方法或Cocoa的NSRunAlert *方法的東西。Symbian(Qt/S60)中的標準通知或提示樣式?
如果沒有原生的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();
用戶後:: 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
我最終使用了這種方法的變體,但謝謝你的答案。 :-) – 2010-06-28 22:22:01