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
模态对话框的显示比非模态对话框的显示要简单,就两行代码。
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
模态对话框的显示比非模态对话框的显示要简单,就两行代码。
相关文章推荐
- 利用WH_CBT Hook将非模态对话框显示为模态对话框
- 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值
- 利用WH_CBT Hook将非模态对话框显示为模态对话框
- 将非模态对话框显示为模态对话框
- WH_CBT Hook将非模态对话框显示为模态对话框
- 利用WH_CBT Hook将非模态对话框显示为模态对话框
- 模态对话框/非模态对话框/系统对话框CColorDialog 置顶问题/显示最前面/TopMost
- How to show a modal dialog and modeless dialog using C++ - 如何用C++显示一个模态对话框和一个非模态对话框
- MFC学习笔记(一):模态对话框与非模态对话框的区别、创建及显示
- MFC学习笔记(四)- 模态对话框与非模态对话框的创建与显示
- 将非模态对话框显示为模态对话框
- Qt 模态对话框与非模态对话框及生命周期
- 如何解决Bootstrap的模态框在Framework7中使用出现遮罩无法显示的问题?
- 模态对话框与非模态对话框
- 模态对话框和非模态对话框的区别
- 笔记:QT的模态对话框、非模态对话框及QLineEdit的验证器和补全器
- Qt 模态对话框与非模态对话框及生命周期
- 模态对话框和非模态对话框的区别1
- Qt的模态对话框和非模态对话框
- 解决asp.net不允许匿名登陆,但不显示登陆对话框的问题