首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

PyQt: 打开对话框该用form.show()仍是form.exec_()

2013-10-12 
PyQt: 打开对话框该用form.show()还是form.exec_()?我写的一个QMessageBox 用show()打不开,用exec_()却打

PyQt: 打开对话框该用form.show()还是form.exec_()?
我写的一个QMessageBox 用show()打不开,用exec_()却打开了,不知道这两个的区别是什么?

还有就是打开的对话框只能用按钮关闭,点击右上角的“X”不能关闭。 PyQt Qt
[解决办法]
我的理解是show是非模态的,exec是模态的,就是exec会进入事件循环,在messagebox退出后才会执行其下面的代码,而show就只是显示的作用,不进入事件循环。当你在执行messagebox时没有进入事件循环(如:在终端执行show,没有app.exec_()),那执行show就不会显示了。
更详细的的说明请参考:
http://blog.csdn.net/dbzhang800/article/details/6300416
[解决办法]

msgbox = QtGui.QMessageBox(self)
msgbox.setWindowTitle('warning')
msgbox.setText("hello")
msgbox.show()

热点排行