Qt捕捉窗口关闭事件

有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。

由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个目的。

(1) 首先添加依赖库:

#include <QCloseEvent>

(2) 接着声明和定义closeEvent函数:

a).h文件

protected:

void closeEvent(QCloseEvent *event);

b).cpp文件

void MainWindow::closeEvent(QCloseEvent *event)

{

QMessageBox::StandardButton button;

button=QMessageBox::question(this,tr("退出程序"),QString(tr("确认退出程序")),QMessageBox::Yes|QMessageBox::No);

if(button==QMessageBox::No)

{

event->ignore(); // 忽略退出信号,程序继续进行

}

else if(button==QMessageBox::Yes)

{

event->accept(); // 接受退出信号,程序退出

}

//TODO: 在退出窗口之前,实现希望做的操作

}

Qt捕捉窗口关闭事件相关推荐

  1. Qt关于窗口关闭触发函数/信号

    方法一. 窗口右上角的X按键会导致其在不给出任何提示的情况下直接退出, 当点击右上角的x按键时,会触发Qt中的一个事件处理函数:void QWidget::closeEvent ( QCloseEve ...

  2. html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  3. python 关闭窗口事件_关于python:如何在Tkinter中处理窗口关闭事件?

    如何在Python Tkinter程序中处理窗口关闭事件(用户单击" X"按钮)? Tkinter支持一种称为协议处理程序的机制.在这里,术语协议是指应用程序和窗口管理器之间的交互 ...

  4. JavaScript捕获窗口关闭事件

    JavaScript捕获窗口关闭事件 关键字: window.close事件 javascript捕获窗口关闭事件有两种方法 1.用javascript重新定义 window.onbeforeunlo ...

  5. 监听关闭页面事件 ajax,Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求

    网上很多博客说监听窗口关闭事件使用window.beforeunload,但是这个监听事件也会在页面刷新的时候执行,经过百度和自己的实际测试, 终于解决了这个问题,代码如下: mounted() { ...

  6. html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  7. JS - 捕获打印窗口关闭事件

    实际上浏览器没有标准化的打印窗口关闭事件,但是根据js单线程这一特性,我们可以在打开打印窗口时同时执行一个异步函数,这样异步函数将被阻塞直到窗口关闭,通用于任何窗口. window.print(); ...

  8. qt 主窗口关闭时关闭子窗口

    1.this指定主窗口为父类 void MainWindow::on_pushButton_clicked() {Dialog *aa = new Dialog(this);aa->show() ...

  9. IE窗口关闭事件(转)

    IE窗口关闭,可使用window.attachEvent("onunload",function); 或是:<html>      <script>     ...

最新文章

  1. 使用RNN神经网络自动生成名字 (不使用深度学习框架,源码)
  2. 先搞清楚了任务究竟是什么再说
  3. Java Web学习路线
  4. 博科:毫不迟疑地入软件网络时代
  5. MySQL GROUP BY:分组查询
  6. 两个整数百分百C语言,2011年9月份计算机二级C语言上机题库(百分百准确),,,[1]
  7. c语言在管理系统中的应用,C语言应用——学生管理系统的制作
  8. C/C++中的##用法
  9. 1、EJB基本概念及运行环境
  10. 凡事想开,心情不坏~
  11. 基于linux的MsQUIC编译及样例运行
  12. 将xscj指定为当前数据库_通过网络连接数据库模式Hive的搭建过程详解
  13. python-函数的返回值
  14. csdn上传图片发现:缺少图像源文件地址
  15. 一句python,一句R︱列表、元组、字典、数据类型、自定义模块导入(格式、去重)
  16. 永久使用卡巴斯基的方法
  17. latex 插入Python代码
  18. 爱奇艺涨价背后,还有四步大棋
  19. CISP 考试教材《第 10 章 知识域:软件开发安全》知识整理
  20. 线阵相机与面阵相机的区别及其应用

热门文章

  1. Linux 命令(3)—— sed 命令
  2. H3C 模拟器 pc与sw直连 开启telnet
  3. PHP中关于时间,时间戳 时区的设置问题
  4. win 10+ iis 10 部署.net core 1.1 web api
  5. 推荐几个win8系统下载比较好的网站
  6. configtx.yaml中文注解
  7. PDF转换技巧之如何把文件转换为WPS?
  8. POJ 1740 A New Stone Game(博弈)题解
  9. 自动化运维之ansible-安装部署与基础命令篇
  10. Python空间数据处理环境搭