Qt捕捉窗口关闭事件
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捕捉窗口关闭事件相关推荐
- Qt关于窗口关闭触发函数/信号
方法一. 窗口右上角的X按键会导致其在不给出任何提示的情况下直接退出, 当点击右上角的x按键时,会触发Qt中的一个事件处理函数:void QWidget::closeEvent ( QCloseEve ...
- html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦
本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...
- python 关闭窗口事件_关于python:如何在Tkinter中处理窗口关闭事件?
如何在Python Tkinter程序中处理窗口关闭事件(用户单击" X"按钮)? Tkinter支持一种称为协议处理程序的机制.在这里,术语协议是指应用程序和窗口管理器之间的交互 ...
- JavaScript捕获窗口关闭事件
JavaScript捕获窗口关闭事件 关键字: window.close事件 javascript捕获窗口关闭事件有两种方法 1.用javascript重新定义 window.onbeforeunlo ...
- 监听关闭页面事件 ajax,Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
网上很多博客说监听窗口关闭事件使用window.beforeunload,但是这个监听事件也会在页面刷新的时候执行,经过百度和自己的实际测试, 终于解决了这个问题,代码如下: mounted() { ...
- html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦
本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...
- JS - 捕获打印窗口关闭事件
实际上浏览器没有标准化的打印窗口关闭事件,但是根据js单线程这一特性,我们可以在打开打印窗口时同时执行一个异步函数,这样异步函数将被阻塞直到窗口关闭,通用于任何窗口. window.print(); ...
- qt 主窗口关闭时关闭子窗口
1.this指定主窗口为父类 void MainWindow::on_pushButton_clicked() {Dialog *aa = new Dialog(this);aa->show() ...
- IE窗口关闭事件(转)
IE窗口关闭,可使用window.attachEvent("onunload",function); 或是:<html> <script> ...
最新文章
- 使用RNN神经网络自动生成名字 (不使用深度学习框架,源码)
- 先搞清楚了任务究竟是什么再说
- Java Web学习路线
- 博科:毫不迟疑地入软件网络时代
- MySQL GROUP BY:分组查询
- 两个整数百分百C语言,2011年9月份计算机二级C语言上机题库(百分百准确),,,[1]
- c语言在管理系统中的应用,C语言应用——学生管理系统的制作
- C/C++中的##用法
- 1、EJB基本概念及运行环境
- 凡事想开,心情不坏~
- 基于linux的MsQUIC编译及样例运行
- 将xscj指定为当前数据库_通过网络连接数据库模式Hive的搭建过程详解
- python-函数的返回值
- csdn上传图片发现:缺少图像源文件地址
- 一句python,一句R︱列表、元组、字典、数据类型、自定义模块导入(格式、去重)
- 永久使用卡巴斯基的方法
- latex 插入Python代码
- 爱奇艺涨价背后,还有四步大棋
- CISP 考试教材《第 10 章 知识域:软件开发安全》知识整理
- 线阵相机与面阵相机的区别及其应用