PyQt4消息窗口
2016-03-27 22:36
633 查看
默认情况下,如果我们单击了窗口标题栏上的X标记,窗口就会被关闭。但是有些时候我们想要改变这一默认行为。比如,我们正在编辑的文件内容发生了变化,这时若单击X标记关闭窗口,编辑器就应当但出确认窗口。
效果:
![](https://images2015.cnblogs.com/blog/918021/201603/918021-20160327222931714-1629279510.png)
如果我们关闭QWidget窗口,QCloseEvent之间就会被触发。要改变原有的widget行为阻止该窗口的关闭,我们就需要重新实现closeEvent()方法。
reply = QtGui.QMessageBox.question(self, 'Message', 'Are you sure to quit?',
QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
通过上面的语句我们就可以显示一个带有两个按钮(Yes/No)的消息窗口。第一个字符串参数'Message'在消息窗口的标题栏上显示。第二个字符串参数以对话的形式显示在消息窗口中。返回的结果被保存在reply变量中。
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
我们使用上面的if语句来判断用户选择的结果。如果用户选择了Yes按钮,那么关闭widget窗口并终止应用程序的动作会被允许执行;否则,关闭窗口的动作会被忽略。
#!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import QtGui class MessageBox(QtGui.QWidget): def __init__(self, parent = None): QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('moonlight poet 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() app = QtGui.QApplication(sys.argv) mb = MessageBox() mb.show() sys.exit(app.exec_())
效果:
![](https://images2015.cnblogs.com/blog/918021/201603/918021-20160327222931714-1629279510.png)
如果我们关闭QWidget窗口,QCloseEvent之间就会被触发。要改变原有的widget行为阻止该窗口的关闭,我们就需要重新实现closeEvent()方法。
reply = QtGui.QMessageBox.question(self, 'Message', 'Are you sure to quit?',
QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
通过上面的语句我们就可以显示一个带有两个按钮(Yes/No)的消息窗口。第一个字符串参数'Message'在消息窗口的标题栏上显示。第二个字符串参数以对话的形式显示在消息窗口中。返回的结果被保存在reply变量中。
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
我们使用上面的if语句来判断用户选择的结果。如果用户选择了Yes按钮,那么关闭widget窗口并终止应用程序的动作会被允许执行;否则,关闭窗口的动作会被忽略。
相关文章推荐
- Qt 安装包制作框架:Qt Installer Framework
- 在Mac系统下发布Qt程序详细教程
- Qt程序打包成exe可执行文件图文教程
- qt5.5程序打包发布以及依赖
- PyQt4关闭窗口
- [QT入门篇]1 QT中的对象模型
- QT绘图系统
- QT错误:collect2:ld returned 1 exit status
- qt 线程简单学习
- PyQt4显示提示信息
- PyQt4程序图标
- PyQt4简单的窗口程序
- Qt 简单爬虫开发
- QT 菜单栏,工具栏操作
- QT练习 菜单栏,工具栏
- osx下配置qt开发环境
- Qt笔记——元对象系统
- qt5.6
- Qt程序加图标
- 装qt的时候出现QT version is not properly installed, please run make install qmake使用不了问题