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实现2014火车票查询代码分享
Jan 10 Python
python 编程之twisted详解及简单实例
Jan 28 Python
解决Matplotlib图表不能在Pycharm中显示的问题
May 24 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
Django学习笔记之为Model添加Action
Apr 30 Python
Python3.5迭代器与生成器用法实例分析
Apr 30 Python
对Python中画图时候的线类型详解
Jul 07 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
python3 简单实现组合设计模式
Jul 02 Python
Python3.9新特性详解
Oct 10 Python
教你使用Python pypinyin库实现汉字转拼音
May 27 Python
pandas中对文本类型数据的处理小结
Nov 01 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
杏林同学录(九)
2006/10/09 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php实现encode64编码类实例
2015/03/24 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
jquery 表格的增行删行实现思路
2013/03/21 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
浅析vue深复制
2018/01/29 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
Sperry官网:帆船鞋创始品牌
2016/09/07 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
怎么写自荐书范文
2014/02/12 职场文书
实习单位指导教师评语
2014/12/30 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
2016年会开场白台词
2015/06/01 职场文书
机械生产实习心得体会
2016/01/22 职场文书