天天看點

QDialog的show()和exec()

void QDialog::show () [虛]

顯示非模式或半模式對話框。控制立即傳回到調用代碼中。

對話框沒有一個本地事件循環,是以你必須定時地調用QApplication::processEvents()來使對話框能夠得到處理它的事件的機會。

如果在構造函數中,模式标記被設定為真,對話框将為半模式。

模态就是像程式彈出對話框這個對話框消失後才能操作程式

exec() 可控制的隻有目前視窗

show()可在視窗間切換   show()是顯示你的視窗.       exec是建立視窗的消息循環。

你的明白?這兩個一般是一起出現的,否則,你的dialog或者window閃一下就沒了。

有了exec,你的視窗會一直在那開着等待消息觸發         模态對話框,允許使用者在對話框與其他程式之間進行切換。 但是,使用者不能切換到同一程式的另一個視窗,直到模态對話方塊被清除為止。

非模态對話框,允許使用者在對話方塊與其他程式之間進行切換, 又可以在對話框與建立對話框的視窗之間進行切換。

簡單點:查找與替換對話框是非模态對話框,而一些彈出對話框需要你做出選擇後才能進行其他操作的是模态對話框。