2009-10-28 89 views
3

我正在Symbian/S60平臺上構建一個使用Qt的應用程序,我想知道是否有一個標準的通知窗口可用於將消息傳遞給用戶。使用其他平臺作爲示例,我正在尋找相當於Javascript的alert()方法或Cocoa的NSRunAlert *方法的東西。Symbian(Qt/S60)中的標準通知或提示樣式?

如果沒有原生的Symbian/S60等價物,Qt空間中是否有某些東西需要考慮? QMessageBox似乎並沒有像我想象的那樣工作。

回答

4

您可以使用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,如果右鍵被選中。

希望這會有所幫助。

+0

我最終使用了這種方法的變體,但謝謝你的答案。 :-) – 2010-06-28 22:22:01

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