您的位置:首页 > 其它

PySide学习笔记第四章-消息框

2016-04-29 09:40 447 查看
默认情况下,如果我们点击X 按钮是可以关闭QtGui.QWidget--窗口,有时候我们想要重新定义该操作,如下:该程序展示了,当我们点击关闭按钮时,会显示一个提示信息

下面有一个函数我们需要用到,当我们关闭QtGui.QWidget 时会产生一个 QCloseEvent 事件,为了更改窗口的响应方式,我们需要重定义closeEvent() 事件句柄(event handler 事件句柄;事件处理程序)

import sys
from PySide import QtGui

class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Message box')
self.show()

def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self, 'Message',  # 创建一个信息框,参数说明:
# Message:信息框的title,
"Are you sure to quit?", QtGui.QMessageBox.Yes | # Are you sure to quit?:信息框展示的信息
QtGui.QMessageBox.No, QtGui.QMessageBox.No)      # 信息框的两个按钮 Yes,No ,最后一个参数:默认按钮

if reply == QtGui.QMessageBox.Yes:                  # 窗口的响应信息存在reply中
event.accept()# 接受信息并关闭窗口
else:
event.ignore()# 忽略信息

def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

if __name__ == '__main__':
main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: