我用 QWidget 来做个示例,它在程序窗口关闭时会触发 closeEvent() 事件,我们把它重写后就能实现关闭窗口时触发我们想要的效果。

重点就两个,如下所示:
重点一: 重写组件的 closeEvent() 方法。
重点二: 主窗口继承重写的组件。

# 主窗口
class Ui_Record(object):def setupUi(self, Dialog):...# 重点一
# NewWidget是随便起的名字,QWidget是要重写的,继承给NewWidget
class NewWidget(QWidget):def closeEvent(self, event):result = QtWidgets.QMessageBox.question(self, "Xpath Robot", "Do you want to exit?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)if(result == QtWidgets.QMessageBox.Yes):event.accept()else:event.ignore()# 重点二
# 主方法里一定要有继承的过程
if __name__ == "__main__":app = QApplication(sys.argv)qw1 = NewWidget()   # 重写的QWidget组件t1 = Ui_Record()   # 正常用的窗口t1.setupUi(qw1)   # 一定要继承上qw1.show()sys.exit(app.exec_())

效果图如下:

喜欢的点个赞❤吧!

PyQt5 技术篇-QWidget、QDialog程序窗口关闭closeEvent()触发事件方法重写相关推荐

  1. PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法

    QSpinBox 组件值改变会触发 valueChanged 事件. # 最大.最小值设置 self.spinBox.setMinimum(1) self.spinBox.setMaximum(3)# ...

  2. Qt程序窗口关闭不退出而最小化到托盘的方法

    一.描述 为避免错点关闭按钮,使得软件关闭退出.需要开发一种类似于QQ桌面之类的功能,点击关闭按钮并不退出,开发的应用程序在用户鼠标点击右上角的关闭按钮时,程序不退出,缩小到右下角,进入托盘.例如wi ...

  3. python输入数据pyqt5_python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例...

    在pyqt5编程过程中,经常会遇到输入或选择多个参数的问题,把多个参数写到一个窗口中,主窗口会显得很臃肿,所以,一般是添加一个按钮,调用对话框,在对话框中进行参数的选择,关闭对话框将参数返回给主窗口 ...

  4. java菜单面板设置完能关闭_用Java创建一个屏幕外框架(或者:当所有应用程序窗口关闭时,如何避免Mac上的空白菜单)?...

    你一定要考虑WizardOfOdds非常有用的答案.正确使用 "The Application Menu"将有所帮助,并且很容易设置最小的 Info.plist开始.持久的文件菜单 ...

  5. 微信小程序 button按钮怎么触发事件? bindtap语法怎么使用?

    在前端网页中我们需要触发一个事件如果按钮点击后调用函数,文本.图片.链接被点击后调用一个函数一个事件,我们都知道用click,可是微信小程序中的click是不存在的,他怎么才能和网页中一样的使用cli ...

  6. PyQt5 技术篇-QWidget、Dialog设置界面固定大小、不可拉伸方法实例演示

    想要写出一个完整的界面,固定大小是必须的,因为放大缩小或多或少都让界面产生一些变化,除非你的代码很高级,不管我怎么拉界面都会以一个合理的布局来展示,当然这太难了,设定固定大小是最省事的了. 网上搜索的 ...

  7. jsp窗口关闭的触发函数

    功能:当点击窗口[关闭按钮]时调用后台的servlet方法实现附件删除 <script type="text/javascript">     window.onbef ...

  8. Java程序优雅关闭的两种方法(程序停止前做一些善后工作)

    java程序关闭时,往往需要做一些善后工作,称之为优雅关闭.这里介绍两种比较典型的方法: 一.注册关闭钩子 通过调用Runtime.getRuntime().addShutdownHook()方法,添 ...

  9. JS关闭窗口时触发事件方法

    JS监听关闭浏览器事件 1.Onunload与Onbeforeunload区别: ①Onunload,onbeforeunload都是在刷新或关闭时调用,可以在 ②Onbeforeunload也是在页 ...

最新文章

  1. RGB+Depth规则箱体测量方案
  2. String比较 运用String.equals
  3. 弹出无toobar的网页
  4. ANSYS配合时如何选择重合面(打开爆炸视图)
  5. c语言 结构体映射,内存管理之4:页面映射中的结构体
  6. zcmu1540(二分)
  7. php传递参数给asp.net,asp.net 传值总结
  8. 在浏览器设置里能看到cookie, 页面调试Application里看不到
  9. 易宝典文章——用ISA 2006标准版发布Exchange 2010的OWA系列之生成Exchange证书申请文件...
  10. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之设备树模型
  11. python 爬取了租房数据
  12. MySQL(18)-----表类型(存储引擎)的选择
  13. Java菜鸡的学习日常——2021华为软挑(练手)
  14. 计算机表格填充,Excel表格的自动填充功能
  15. github+hexo+butterfly 搭建个人博客
  16. java输入 以逗号隔开_要求做个java程序用户输入数字逗号隔开, 计算下面的公式 多谢了...
  17. [书蕴笔记-3]使用中文维基百科语料库的word2vec模型计算书籍距离
  18. cholesky求逆
  19. ~/.profile和/etc/profile的区别
  20. linux加载虚拟sriov网卡,网卡直通SR-IOV技术

热门文章

  1. 前端面试题整理(js)
  2. 【News】SpagoBI中国官方微信对外发布
  3. 更新ubuntu软件源
  4. Android ListView 圆角
  5. 南方人物周刊:智能手机割据战
  6. 运动,由Silverlight助力 / Sports, Powered by Silverlight
  7. VS2008工程转为VS2005(C++)
  8. hadoop学习笔记2
  9. 用于文本识别的合成数据生成器
  10. Linux中防火墙(一)