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
模态对话框的显示比非模态对话框的显示要简单,就两行代码。