【Qt】窗口关闭提示框

news2024/11/25 11:59:22

在关闭QWdiget窗口时弹出提示框

重写**closeEvent**函数

void closeEvent(QCloseEvent* event) override;
		QMessageBox *msgBox = new QMessageBox(QMessageBox::Question, "信息提示", "是否保存当前数据?", QMessageBox::Save | QMessageBox::No | QMessageBox::Cancel, this, Qt::WindowStaysOnTopHint);
        msgBox->setDefaultButton(QMessageBox::No);
        msgBox->button(QMessageBox::Save)->setText(u8"保存");
        msgBox->button(QMessageBox::No)->setText(u8"不保存");
        msgBox->button(QMessageBox::Cancel)->setText(u8"取消");

        int res = msgBox->exec();
        if (res == QMessageBox::Save)
        {
            model->saveDate();
        }
        else if (res == QMessageBox::Cancel)
        {
            event->ignore();
        }

        delete msgBox;
    	this->close();

在这里插入图片描述

通过按钮在点击时弹窗

在按钮对应的槽函数中,适用于无边框的窗口

// 退出系统
void ExitAction(bool state)
{
    if_Data = 0;

    QMessageBox* msgBox = new QMessageBox(QMessageBox::Question, "提示", "退出系统?", QMessageBox::Save /*| QMessageBox::No */ | QMessageBox::Cancel, this, Qt::WindowStaysOnTopHint);
    msgBox->setDefaultButton(QMessageBox::No);
    msgBox->button(QMessageBox::Save)->setText(u8"确定");
    msgBox->button(QMessageBox::Cancel)->setText(u8"取消");

    int res = msgBox->exec();
    if (res == QMessageBox::Save)
    {
        qApp->quit();
    }

    delete msgBox;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2212160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

github克隆项目中的子模块submodule时遇到“无法访问远程仓库,请检查权限“

问题描述 在拉取仓库的时候发现了新东西。 仓库中有两个文件夹提示 点击之后,发现跳转到了另一个仓库 ,原来这是仓库的子模块,第一次见,也就是仓库中包含了其他的的仓库,就是这么简单的原理。 但是在拉取仓库以后发现…

VScode环境配置

目录 好用插件推荐 1.Auto Rename Tag 2.openbrowser 3.实时预览(推荐) VSCode常用的快捷键 1. 快速复制一行 2.快速复制一行代码选定多个相同的单词 3. 添加多个光标 4. 全局替换某写单词 5. 快速定位到某一行 6. 选择某个区块 7. 放大缩…

高一全栈开发;国产 Arc 浏览器;Tauri 2.0 发布 | 生活周刊 #3

发现新应用 Vectorcraftr Vectorcraftr 提供免费可商用的插画库,风格有很多,自行食用 书立 一款功能强大、特性丰富的笔记软件,包含富文本,双链,表格,富目录树,WebDAV ,自由导出等…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容,比如Button未点击安装显示: 安装后显示: 可以通过设置button的content,通过content来设置不同的模板来实现功能,以下是代码: MainWi…

【消息队列】Kafka从入门到面试学习总结

国科大学习生活(期末复习资料、课程大作业解析、大厂实习经验心得等): 文章专栏(点击跳转) 大数据开发学习文档(分布式文件系统的实现,大数据生态圈学习文档等): 文章专栏(点击跳转&…

CentOS7安装Gitlab服务

文章目录 前言一、安装依赖二、安装gitlab1、上传安装2、修改配置 三、启动gitlab服务四、修改密码五、设置为中文(低版本有问题)六、常用命令 前言 文中gitlab版本为: gitlab-ce-14.2.7 一、安装依赖 gitlab需要安装如下依赖,否…

Linux编辑器-vim的配置及其使用

vim是一种多模式的编辑器: 1.命令模式(默认模式):用户所有的输入都会当作命令,不会当作文本输入。 2.插入模式:写代码, 按「 i 」切换进入插入模式「 insert mode 」,按 “i” 进入…

2024/10/13周报

文章目录 摘要Abstract文献阅读题目1. 背景与问题提出2. 提出的CLATT方法2.1 卷积神经网络(CNN)2.2 长短期记忆网络(LSTM)2.3 注意力机制2.4 滑动窗口方法 3. 实验设计与结果3.1 数据集3.2 实验基线与评价指标3.3 实验结果与分析 …

使用清华大学开源软件镜像站下载JDK

在软件开发和日常使用中,Java Development Kit(JDK)是不可或缺的一部分。它提供了Java运行环境和开发工具,使得开发者可以编写、编译和运行Java应用程序。本文将指导你如何从清华大学开源软件镜像站(TUNA)下…

通信工程学习:什么是UART通用异步收发器

UART:通用异步收发器 UART,全称Universal Asynchronous Receiver/Transmitter,即通用异步收发传输器,是一种广泛应用于嵌入式领域的串行、异步、全双工通信协议。以下是关于UART的详细介绍: 一、定义与特点 定义&…

数据分析:R语言计算XGBoost二分类模型的SHAP值

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍SHAP用途计算方法:应用加载R包导入数据建模平均SHAP值计算单个样本的每个特征的SHAP值蜜蜂图依赖图单个样本的SHAP解释(Force Plot)其他方法计算SHAP值单个个体预测结果系统信息…

MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略

MLM之Llama-3:Llama 3.2的简介、安装和使用方法、案例应用之详细攻略 目录 Llama 3.2 简介 1、Llama 3.2 的特点 2、模型评估 轻量级指令调优基准 视觉指令调整基准 Llama 3.2 的安装和使用方法 1、下载模型 2. 开发环境准备 3. 使用模型进行推理和微调 4…

Ubuntu命令行快速部署C++语言的GDAL库

本文介绍在Linux系统的Ubuntu电脑中,在命令行中一句代码快速配置C 环境下的gdal库的方法。 在文章Ubuntu基于Docker快速配置GDAL的Python、C环境(https://blog.csdn.net/zhebushibiaoshifu/article/details/133433838)中,我们就介…

【JVM】内存模型

文章目录 内存模型的基本概念案例 程序计数器栈Java虚拟机栈局部变量表栈帧中局部变量表的实际状态栈帧中存放的数据有哪些 操作数栈帧数据 本地方法栈 堆堆空间是如何进行管理的? 方法区静态变量存储 直接内存直接内存的作用 内存模型的基本概念 在前面的学习中,我们知道了字…

施磊C++ | 进阶学习笔记 | 3.绑定器和函数对象、lambda表达式

三、绑定器和函数对象、lambda表达式 文章目录 三、绑定器和函数对象、lambda表达式3.1模板的完全特例化和非完全(部分)特例化1.完全特例化和非完全(部分)特例化2.模板的实参推演 3.2 C STL中的绑定器bind1stbind2nd自己实现一个b…

深度学习——线性神经网络(三、线性回归的简洁实现)

目录 3.1 生成数据集3.2 读取数据集3.3 定义模型3.4 初始化模型参数3.5 定义损失函数3.6 定义优化算法3.7 训练 在上一节中,我们通过张量来自定义式地进行数据存储和线性代数运算,并通过自动微分来计算梯度。实际上,由于数据迭代器、损失函数…

基于深度学习的西红柿成熟度检测系统

简介: 基于深度学习技术的西红柿成熟度检测系统是一种利用人工智能算法对西红柿成熟程度进行自动识别和分类的智能系统。该系统通过采集西红柿的图像数据,运用深度学习模型对图像中的西红柿进行特征提取和分析,从而实现对西红柿成熟度的准确判…

【C】printf()与scanf()详介以及如何在VS中使用scanf(保姆级详细版)

printf() 基本用法 printf()的作用是将参数文本输出到屏幕,它名字里面的f 代表 format(格式化)&#xff0c;表示可以定制输出文本的格式。 1 #include <stdio.h>//standard input output标准输入输出操作 2 int main() 3{ 4 printf("Hello World"); 5 retu…

DVWA CSRF 漏洞实践报告

1. 漏洞简介 CSRF&#xff08;跨站请求伪造&#xff09;是一种攻击&#xff0c;使得攻击者能够以受害者的身份执行非预期的操作。在靶场DVWA中&#xff0c;我将尝试通过CSRF漏洞更改管理员密码。 2. 实验环境 DVWA版本&#xff1a;DVWA-old浏览器&#xff1a;火狐默认管理员账…

QtModel

QModelIndex index1 model->index(row,column,QModelIndex());QModelIndex index2 model->index(row.column,index2); QSqlQuery::size() 仅在使用了 QSqlQuery::exec() 后并且查询结果集的所有行都被读取时才有效。如果结果集很大或在使用游标的情况下&#xff0c;返回…