Qt实现关闭窗口触发事件
Qt程序关闭前,有时候需要弹出一个确认窗口,如何实现呢?
当鼠标点击窗口右上角的关闭按钮时,会触发一个窗口关闭事件(QCloseEvent),只需要覆写窗口类的closeEvent(QCloseEvent *event)函数,就可以对此事件进行相应处理
用到的头文件
#include<QMessageBox>
#include<QCloseEvent>
编辑窗口类
class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();//覆写closeEvent函数void closeEvent(QCloseEvent *);
private:Ui::MainWindow *ui;
};
源文件实现closeEvent(QCloseEvent *)函数
void MainWindow::closeEvent(QCloseEvent *e){//窗口关闭时弹出的提示窗口QMessageBox msgBox;msgBox.setText("提示");msgBox.setInformativeText("确认退出?");msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);msgBox.setDefaultButton(QMessageBox::Ok);int ret = msgBox.exec();if(ret == QMessageBox::Ok){//若用户点击确认,则接收这个事件,当前窗口会关闭e->accept();}else{//若用户点击取消,则忽略这个事件,当前窗口不会关闭e->ignore();}
}
效果:
Qt实现关闭窗口触发事件相关推荐
- 关于js关闭窗口的事件和用法
原文地址为: 关于js关闭窗口的事件和用法 Onunload与Onbeforeunload Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本 ...
- PyQt5 技术篇-QWidget、QDialog程序窗口关闭closeEvent()触发事件方法重写
我用 QWidget 来做个示例,它在程序窗口关闭时会触发 closeEvent() 事件,我们把它重写后就能实现关闭窗口时触发我们想要的效果. 重点就两个,如下所示: 重点一: 重写组件的 clos ...
- 《基于Qt的VR编辑器开发》(Yanlz+Unity+SteamVR+5G+AI+VR云游戏+Qt+编辑器+跨平台+人机交互+触发事件+立钻哥哥+==)
<基于Qt的VR编辑器开发> <基于Qt的VR编辑器开发> 版本 作者 参与者 完成日期 备注 YanlzFramework_Qt_V01_1.0 严立钻 2019.09.04 ...
- 使用Qt编辑关闭窗口程序的一些见解
http://sunshine1106.blog.51cto.com/1371108/305106/ 近日在测试软件功能时,发现一些不是太显眼问题,如希望在点击窗口右上角的X按钮关闭窗口时,能够提示 ...
- QT的QTreeWidget节点触发事件(一)
声明:网络上给出的这方面的资料较少,且都针对的是第一级节点的触发绑定事件,但是当遇到有不止一级父节点的子节点后,相关内容较少,因此通过实践整理出了以下方法,进行QTreeWidget节点触发事件的绑定 ...
- 关闭弹框事件_关于js关闭窗口的事件和用法
JS本身最高事件等级到window级,你可以对window进行onunload等监听来判断是否关掉当前浏览器窗口. 对于以前的单一窗口管理模式,关闭浏览器窗口即关闭应用程序窗口,是可以做到的. 但是现 ...
- qt中关闭窗口资源释放问题
针对QDialog对象,如果是栈上分配的,就不存在资源泄漏问题,但是当对象是new出来的,并且以局部对像存在,当关闭时,窗口只是隐藏,资源是没有释放的,每次exec后者需要delete来释放,另外一种 ...
- Bootstrap- Modal对话框如何在关闭时触发事件
下表列出了模态框中要用到事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.modal 在调用 show 方法后触发. $('#identifier').on('show.bs.m ...
- iframe关闭时触发事件_超详细的mysql数据库事件--定时任务介绍及日常管理
概述 由于最近在做某些日志表的清理工作,会用到定时任务,所以这里也简单介绍一下mysql如何用事件来实现定时任务. 后面会介绍两个日志表清理实现方案,一种是传统的定时delete,另一种会稍微复杂点, ...
最新文章
- java io nio aio_Java IO、NIO、AIO知识总结
- Spine学习六 - 碰撞检测
- 微信小程序开发-微信登陆流程
- 【微服务架构】SpringCloud组件和概念介绍(一)
- tuxedo 强制重启
- ThinkPHP5.0版本和ThinkPHP3.2版本的差别
- (转)Fintech路上券商究竟做错了什么?漏做了什么?
- Ubuntu菜鸟入门(五)—— 一些编程相关工具
- Hive基本原理及环境搭建
- JavaScript断点调试高级教程
- 七策定纲存储之道 宏杉科技专注创新勇突破
- 设计模式--模版方法
- 学计算机跨考航天航空,往届生跨考计算机经验
- 谈谈BGA芯片S3C2440的焊接
- from PyQt6 import QtCore, QtGui, QtWidgets ImportError: DLL load failed while importing QtGui:
- 每天只需15分钟!情感励志视频剪辑一天200多,不用真人出镜
- signed integer overflow: -2147483648 - 1 cannot be represented in type ‘int‘
- 007 - 配置 Clion 调试显示 Qt 变量
- 2018年年初的面试经验谈
- 2015上半年手机GPU排行榜