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()