2017-01-02 77 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; 
}