PyQt5 closeEvent关闭事件退出提示框原理解析


Posted in Python onJanuary 08, 2020

这篇文章主要介绍了PyQt5 closeEvent关闭事件退出提示框原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

如果关闭QWidget,就会产生一个QCloseEvent,并且把它传入到closeEvent函数的event参数中。改变控件的默认行为,就是替换掉默认的事件处理。

原生的英文提示框:

PyQt5 closeEvent关闭事件退出提示框原理解析

# 添加一个退出的提示事件
  def closeEvent(self, event):
    """我们创建了一个消息框,上面有俩按钮:Yes和No.第一个字符串显示在消息框的标题栏,第二个字符串显示在对话框,
          第三个参数是消息框的俩按钮,最后一个参数是默认按钮,这个按钮是默认选中的。返回值在变量reply里。"""
    
    reply = QMessageBox.question(self, 'Message',"Are you sure to quit?",
                   QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
    # 判断返回值,如果点击的是Yes按钮,我们就关闭组件和应用,否则就忽略关闭事件
    if reply == QMessageBox.Yes:
      event.accept()
    else:
      event.ignore()

修改成中文样式:

PyQt5 closeEvent关闭事件退出提示框原理解析

# 添加中文的确认退出提示框1
  def closeEvent(self, event):
    # 创建一个消息盒子(提示框)
    quitMsgBox = QMessageBox()
    # 设置提示框的标题
    quitMsgBox.setWindowTitle('确认提示')
    # 设置提示框的内容
    quitMsgBox.setText('你确认退出吗?')
    # 设置按钮标准,一个yes一个no
    quitMsgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
    # 获取两个按钮并且修改显示文本
    buttonY = quitMsgBox.button(QMessageBox.Yes)
    buttonY.setText('确定')
    buttonN = quitMsgBox.button(QMessageBox.No)
    buttonN.setText('取消')
    quitMsgBox.exec_()
    # 判断返回值,如果点击的是Yes按钮,我们就关闭组件和应用,否则就忽略关闭事件
    if quitMsgBox.clickedButton() == buttonY:
      event.accept()
    else:
      event.ignore()
# 添加中文的退出提示框2
  def closeEvent(self, event):
    # 创建一个消息盒子(提示框)
    quitMsgBox = QMessageBox()
    # 设置提示框的标题
    quitMsgBox.setWindowTitle('确认窗口')
    # 设置提示框的内容
    quitMsgBox.setText('你确定退出吗?')
    # 创建两个点击的按钮,修改文本显示内容
    buttonY = QPushButton('确定')
    buttonN = QPushButton('取消')
    # 将两个按钮加到这个消息盒子中去,并指定yes和no的功能
    quitMsgBox.addButton(buttonY, QMessageBox.YesRole)
    quitMsgBox.addButton(buttonN, QMessageBox.NoRole)
    quitMsgBox.exec_()
    # 判断返回值,如果点击的是Yes按钮,我们就关闭组件和应用,否则就忽略关闭事件
    if quitMsgBox.clickedButton() == buttonY:
      event.accept()
    else:
      event.ignore()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动重试HTTP连接装饰器
Apr 28 Python
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
python实战之90行代码写个猜数字游戏
Apr 22 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
详解解Django 多对多表关系的三种创建方式
Aug 23 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
python从内存地址上加载python对象过程详解
Jan 08 #Python
PyCharm第一次安装及使用教程
Jan 08 #Python
Python namedtuple命名元组实现过程解析
Jan 08 #Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 #Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 #Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 #Python
pycharm激活码有效到2020年11月底
Sep 18 #Python
You might like
php debug 安装技巧
2011/04/30 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
JQuery之拖拽插件实现代码
2011/04/14 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
javascript多物体运动实现方法分析
2016/01/08 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
苹果Mac升级:MacSales.com
2017/11/20 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
班组长安全职责
2014/01/05 职场文书
小学运动会表扬稿
2014/01/19 职场文书
四年大学自我鉴定
2014/02/17 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
高三英语复习计划
2015/01/19 职场文书
欢迎新生标语2015
2015/07/16 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
灵能百分百第三季什么时候来?
2022/03/15 日漫
flex弹性布局详解
2022/03/20 HTML / CSS
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS