您的位置:首页 > 编程语言 > Qt开发

pyQT中模态对话框与非模态对话框(解决一闪而过)的显示源码

2012-07-25 12:01 543 查看
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

模态对话框的显示比非模态对话框的显示要简单,就两行代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: