2013-08-22 73 views
0

我有兩個QMainWindows。我想當一個QMessageBox顯示在一個具有exec()的QMainWindow上時,另一個QMainWindow不會被阻塞。QMainWindow獨立

兩個QMainWindow必須是獨立的。

這是怎麼回事?

+0

這是什麼都與'QThread'辦? – RobbieE

+0

目前沒有。但我認爲QmainWindows必須像QThreads一樣獨立。 – artoon

回答

2

它與QThread無關,Qt文檔聲明您只能在QT應用程序中使用ONE GUI線程。

你應該做的是設置模態標誌,使對話框模態,所以它將模態相關的父窗口。執行對話之前,請致電:

pDialog->setWindowModality(Qt::WindowModal); 

而且不要忘記設置正確的您的對話框對象。

Qt文檔狀態: -

Modal Dialogs 

A modal dialog is a dialog that blocks input to other visible windows in the 
same application. Dialogs that are used to request a file name from the user or 
that are used to set application preferences are usually modal. Dialogs can be 
application modal (the default) or window modal. 
0

使用show()方法顯示每個QMainWindow而不是exec()

+0

QMainWindows以show顯示。我需要使用QMessageBox的exec來處理結果。 – artoon