1. 非模態對話框顯示
def func_button7(self):
myapp2 = MyForm2() # line 1
myapp2.show() # line 2
qe = QEventLoop() # line 3
qe.exec_() # line 4
其實上面的line 1 和line 2 兩行代碼即可顯示一個非模態對話框(QDialog),,但是存在一個問題,即func_button7方法執行完成後,出了函數作用域myapp2就被銷燬了,所以
會出現窗體一閃而過的現象,line 3和line 4兩行就能解決此現象,line 3實例化了一個 事件循環對象,line 4 可以起到阻塞的作用,即循環監聽窗體事件,直到窗口關閉退
出循環。
2. 模態對話框顯示
def func_button7(self):
myapp2 = MyForm2() # line 1
myapp2.exec_() # line 2
模態對話框的顯示比非模態對話框的顯示要簡單,就兩行代碼。