pyqt4入门教材 里面的程序,这个运行后没有弹出提示窗口啊,而且我觉得它这里没有调用到close_event
#!/usr/bin/python#-*-coding:utf-8-*-#Filename:pyqt_3_5.py#---------------------------...
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Filename: pyqt_3_5.py
#------------------------------------------------
#消息窗口
#------------------------------------------------
import sys
from PyQt4 import QtGui
#基本的GUI窗口部件都在QtGui模块中
class Message_box(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(100, 100, 250, 150)
self.setWindowTitle('message_box')
#setWindowTitle()设置标题
def close_event(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()
app = QtGui.QApplication(sys.argv)
#每一个PyQt4程序都需要一个application对象,application类包含在QtGui模块中
#sys.argv可以让我们选择启动脚本的方式
tooltip = Message_box()
tooltip.show()
sys.exit(app.exec_())
看来要自问自答了,刚刚忽然想到会不会是程序自带了closeEvent这个函数,然后我把它重命名为close_event就不行了,然后一试,果然如此!!!closeEvent就是把窗口关掉的那个函数,无语死了!!!! 展开
# -*- coding: utf-8 -*-
# Filename: pyqt_3_5.py
#------------------------------------------------
#消息窗口
#------------------------------------------------
import sys
from PyQt4 import QtGui
#基本的GUI窗口部件都在QtGui模块中
class Message_box(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(100, 100, 250, 150)
self.setWindowTitle('message_box')
#setWindowTitle()设置标题
def close_event(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()
app = QtGui.QApplication(sys.argv)
#每一个PyQt4程序都需要一个application对象,application类包含在QtGui模块中
#sys.argv可以让我们选择启动脚本的方式
tooltip = Message_box()
tooltip.show()
sys.exit(app.exec_())
看来要自问自答了,刚刚忽然想到会不会是程序自带了closeEvent这个函数,然后我把它重命名为close_event就不行了,然后一试,果然如此!!!closeEvent就是把窗口关掉的那个函数,无语死了!!!! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询