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

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

原生的英文提示框:

# 添加一个退出的提示事件

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()

修改成中文样式:

# 添加中文的确认退出提示框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 关闭窗口事件_PyQt5 closeEvent关闭事件退出提示框原理解析相关推荐

  1. 关闭是否只查看安全传送的网页内容提示框 和 是否允许运行软件,如ActiveX控件和插件提示框...

    关闭是否只查看安全传送的网页内容提示框 最新编写 爬虫程序,运行程序后,电脑就总是出现下面这个提示框,一遍遍点"是"或"否"繁琐又麻烦.我看得有点不耐烦了.于是 ...

  2. 关闭是否只查看安全传送的网页内容提示框 和 是否允许运行软件,如ActiveX控件和插件提示框

    关闭是否只查看安全传送的网页内容提示框 最新编写 爬虫程序,运行程序后,电脑就总是出现下面这个提示框,一遍遍点"是"或"否"繁琐又麻烦.我看得有点不耐烦了.于是 ...

  3. python如何进行格式化输出变量_Python变量格式化输出实现原理解析

    print() 函数使用以 % 开头的转换说明符对各种类型的数据进行格式化输出. 转换说明符(Conversion Specifier)只是一个占位符(也称为格式化操作符),它会被后面表达式(变量.常 ...

  4. python图像切割成多边形_python通过opencv实现图片裁剪原理解析

    这篇文章主要介绍了python通过opencv实现图片裁剪原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 图像裁剪的基本概念 : 图像裁剪是 ...

  5. python如何关闭窗口仍能运行_Python在退出时关闭自己的CMD shell窗口

    让我们首先分析两个发布的Python脚本行在执行Python脚本时真正做了些什么.感谢eryksun进行深入调查,真正使用Python导致正确的描述,现在可以在下面阅读. os.system()导致在 ...

  6. python多窗口传递信息_PyQT5 中两个界面之间数据传递

    在使用PyQT5做GUI桌面应用程序设计时,经常需要对在两个界面之间做信号的传递,这个时候我们需要通过建立信号pyqtSignal 然后通过Connect 相应的槽函数来完成界面之间的数据传递. 1. ...

  7. python logging模块的作用及应用场景_Python logging模块原理解析及应用

    一.logging日志模块等级 常见log级别从高到低: CRITICAL >ERROR >WARNING >INFO >DEBUG,默认等级为WARNING,即>=WA ...

  8. 拦截QT关闭窗口的CloseEvent

    写程序遇到了QTimer启动以后可以在普通函数(例如槽函数)里面停止,但是无法在析构函数里停止的问题.想方设法皆无果,最后之得从关闭窗口上下功夫,关闭窗口时判断如果timer还是启动状态(即后台进程还 ...

  9. 微信内置浏览器点击“返回”关闭窗口

    场景:开发微信内的H5活动,需要进行微信授权,我们采用的是在一个静态页面(只有js,所以是个空白页面)内进行授权,授权后再跳转到活动主页. 客户需求:从活动主页返回时不显示这个授权页面(空白页面),直 ...

最新文章

  1. 剑指offer(49)把字符串转换成整数。
  2. Linux/Centos7系统管理之深入理解Linux文件系统与日志分析
  3. 我看UNIX与Windows的本质区别
  4. css设置背景图片缩小,css3 设置背景图片大小(缩略图形式缩小)
  5. oracle for函数,oracle分区表述的FOR语句(一)
  6. P4427-[BJOI2018]求和【LCA】
  7. 计算机备份u盘,如何备份电脑系统到u盘
  8. 49 张图详解 WiFi 的 26 个知识点
  9. 服务端渲染SSR及实现原理
  10. 学科前沿讲座 文本分类TextClassfication
  11. Maven Helper 安装使用
  12. Android studio中如何调用setpositivebutton函数
  13. 分享5款堪称神器的免费软件,建议先收藏再下载
  14. 投资顾问需要什么条件
  15. 16个核心概念带你入门 Kubernetes
  16. Java类和对象(如何理解类和对象)
  17. ##MYfirstLog
  18. 毕业论文小论文查重吗?
  19. Cocosd2d-js 实现模态对话框
  20. 最新Node.JS入门视频教程20集 Node.JS快速入门编程教材 Node.JS视频(偏重基础)

热门文章

  1. ip4标准(ip4网段)
  2. 黑马程序员-----------------交通灯管理系统
  3. 小程序银行卡手机号验证
  4. 基于ssm+mysql+jsp汽车销售管理系统
  5. windows11创建文件夹的键盘快捷方式 - Ctrl+Shift+N
  6. 细说LoadRunner参数化
  7. Wind量化接口常见错误码
  8. 拼多多黄峥激流勇退,单身的他将去追求爱情?
  9. Python中读取txt文件的三种可行办法
  10. 【JAVA - POI 合集】之 POI 操作word 图表,柱状图,折线图,雷达图,条形图 poi4.1.2