2017-01-02 120 views
0

我需要從我的靜態庫向用戶顯示一個消息框,但使用QMessageBox需要QApplication;顯示來自庫的消息框

如何顯示不帶QApplication的消息框?

+0

甲原始調用['MessageBox'](https://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(V = vs.85)的.aspx),也許?您無需填寫所有者窗口。 – usr2564301

+1

@RadLexus:我需要一個跨平臺的消息框,MessageBox是特定於Windows的 – RYN

回答

1

只是在應用程序的生命週期中實例化一個QApplication的實例。 (例如,在您的「主」,「WinMain」中,或在應用程序初始化序列的早期某處)

從此,您可以創建所有需要的模式實例QMessageBox。只要您使用最新版本的Qt,它應該與您自己的消息泵共存。

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QMessageBox msgBox; 
    msgBox.setText("Hello World"); 
    msgBox.exec(); // blocks until the user finishes interacting with the message box 

    return 0; 
}