坛里高手们,请教一个python2.7 qt4消息框问题,以下代码的目的是为了显示一个消息框,运行下面的代码,能够正常显示消息框,
但是如果将绿色的两句改为封装成一个msg函数在主函数中被调用,发现消息框闪了一下就没了,请问为什么不行,被调用的msg函数应该怎么改,才可行,谢谢
#!/usr/bin/python
# messagebox.py
import sys
from PyQt4 import QtGui
import time
class MessageBox2(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('message box')
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self, 'Message',
"Are you sure to quit?", QtGui.QMessageBox.Yes,
QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
def msg():
qb= MessageBox2()
qb.show()
if __name__=='__main__':
app = QtGui.QApplication(sys.argv)
qb= MessageBox2()
qb.show()
#msg()
sys.exit(app.exec_())
---------------------------------------------------------------------------------------------------
改成
if __name__=='__main__':
app = QtGui.QApplication(sys.argv)
#qb= MessageBox2()
#qb.show()
msg()
sys.exit(app.exec_())