qt-11基本对话框(消息框)
基本对话框--消息框
- msgboxdlg.h
- msgboxdlg.cpp
- main.cpp
- 运行图
- QustionMsg
- InFormationMsg
- WarningMsg
- CriticalMsg
- AboutMsg
- AboutAtMsg
- 自定义
msgboxdlg.h
#ifndef MSGBOXDLG_H
#define MSGBOXDLG_H#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QGridLayout>
#include <QMessageBox>class msgboxdlg : public QDialog
{Q_OBJECTpublic:msgboxdlg(QWidget *parent = nullptr);~msgboxdlg();
private slots:void ShowQustionMsg();void ShowInFormationMsg();void ShowWarningMsg();void ShowCriticalMsg();void ShowAboutMsg();void ShowAboutAtMsg();void ShowCustomMsg();
private:QLabel* Label;QPushButton* QuestionBtn;QPushButton* InformationBtn;QPushButton* WarningBtn;QPushButton* CriticalBtn;QPushButton* AboutBtn;QPushButton* AboutQtBtn;QPushButton* CustomBtn;QGridLayout* MainLayout;};
#endif // MSGBOXDLG_H
msgboxdlg.cpp
#include "msgboxdlg.h"msgboxdlg::msgboxdlg(QWidget *parent): QDialog(parent)
{setWindowTitle(tr("标准消息对话框实例"));//实例化控件对象Label = new QLabel(tr("请选择一种消息框"));QuestionBtn = new QPushButton(tr("QuestionMsg"));InformationBtn = new QPushButton(tr("InformationMsg"));WarningBtn = new QPushButton(tr("WarningMsg"));CriticalBtn = new QPushButton(tr("CriticalMsg"));AboutBtn = new QPushButton(tr("AboutMsg"));AboutQtBtn = new QPushButton(tr("AboutQtMsg"));CustomBtn = new QPushButton(tr("CustomMsg"));//布局MainLayout = new QGridLayout(this);MainLayout->addWidget(Label,0,0,1,2);MainLayout->addWidget(QuestionBtn,1,0);MainLayout->addWidget(InformationBtn,1,1);MainLayout->addWidget(WarningBtn,2,0);MainLayout->addWidget(CriticalBtn,2,1);MainLayout->addWidget(AboutBtn,3,0);MainLayout->addWidget(AboutQtBtn,3,1);MainLayout->addWidget(CustomBtn,4,0,1,2);//事件关联connect(QuestionBtn,SIGNAL(clicked()),this,SLOT(ShowQustionMsg()));connect(InformationBtn,SIGNAL(clicked()),this,SLOT(ShowInFormationMsg()));connect(WarningBtn,SIGNAL(clicked()),this,SLOT(ShowWarningMsg()));connect(CriticalBtn,SIGNAL(clicked()),this,SLOT(ShowCriticalMsg()));connect(AboutBtn,SIGNAL(clicked()),this,SLOT(ShowAboutMsg()));connect(AboutQtBtn,SIGNAL(clicked()),this,SLOT(ShowAboutAtMsg()));connect(CustomBtn,SIGNAL(clicked()),this,SLOT(ShowCustomMsg()));}msgboxdlg::~msgboxdlg() {}void msgboxdlg::ShowQustionMsg()
{Label->setText(tr("Question Message box"));switch(QMessageBox::question(this,tr("Question 消息框"),tr("您现在已经修改完成,是否要结束程序?"),QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok)){case QMessageBox::Ok:Label->setText(tr("Question button/ok"));break;case QMessageBox::Cancel:Label->setText(tr("Question button/cancel"));break;default:break;}return;
}void msgboxdlg::ShowInFormationMsg()
{Label->setText(tr("Information Message Box"));QMessageBox::information(this,tr("Information消息框"),tr("这是Information消息框测试,欢迎您!"));return;
}void msgboxdlg::ShowWarningMsg()
{Label->setText(tr("warning message box"));switch(QMessageBox::warning(this,tr("warning 消息框"),tr("您修改的文档内容还未保存,是否要保存文档"), QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save)){case QMessageBox::Save:Label->setText("Save");break;case QMessageBox::Discard:Label->setText("Discard");break;case QMessageBox::Cancel:Label->setText("Cancel");break;default:break;}return;}void msgboxdlg::ShowCriticalMsg()
{Label->setText(tr("Critical MessBox "));QMessageBox::critical(this,tr("Critical 消息框"),tr("这是一个critical 消息框"));return;
}void msgboxdlg::ShowAboutMsg()
{Label->setText(tr("about MessBox "));QMessageBox::about(this,tr("about 消息框"),tr("这是一个about 消息框"));return;
}void msgboxdlg::ShowAboutAtMsg()
{Label->setText(tr("aboutQt MessBox "));QMessageBox::aboutQt(this,tr("aboutQt 消息框"));return;
}void msgboxdlg::ShowCustomMsg()
{Label->setText(tr("Custom 消息框"));QMessageBox CustomBox;CustomBox.setWindowTitle(tr("自定义消息框"));QPushButton* YesBtn = CustomBox.addButton(tr("yes"),QMessageBox::ActionRole);QPushButton* NoBtn = CustomBox.addButton(tr("No"),QMessageBox::ActionRole);QPushButton* Cancel = CustomBox.addButton(QMessageBox::Cancel);CustomBox.setText(tr("这是一个用户自定义消息框"));CustomBox.setIconPixmap(QPixmap("312.png"));CustomBox.exec();if(CustomBox.clickedButton() == YesBtn){Label->setText(tr("Custom YesBtn消息"));return;}if(CustomBox.clickedButton() == NoBtn){Label->setText(tr("Custom NoBtn消息"));return;}if(CustomBox.clickedButton() == Cancel){Label->setText(tr("Custom Cancel消息"));return;}return;
}
main.cpp
#include "msgboxdlg.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);msgboxdlg w;w.show();return a.exec();
}
运行图
QustionMsg
InFormationMsg
WarningMsg
CriticalMsg
AboutMsg
AboutAtMsg
自定义
相关文章:

qt-11基本对话框(消息框)
基本对话框--消息框 msgboxdlg.hmsgboxdlg.cppmain.cpp运行图QustionMsgInFormationMsgWarningMsgCriticalMsgAboutMsgAboutAtMsg自定义 msgboxdlg.h #ifndef MSGBOXDLG_H #define MSGBOXDLG_H#include <QDialog> #include <QLabel> #include <QPushButton>…...

Windows11下wsl闪退的解决
wsl闪退 1. 原因分析 解释:WSL(Windows Subsystem for Linux)闪退通常指的是在Windows操作系统中运行的Linux环境突然关闭。这可能是由于多种原因造成的,包括系统资源不足、WSL配置问题、兼容性问题或者是Linux内核的问题。&…...

通过调整JVM的默认内存配置来解决内存溢出(OutOfMemoryError)或栈溢出(StackOverflowError)等错误
文章目录 引言I 调整JVM的默认堆内存配置java命令启动jar包Tomcat服务器部署java应用引言 问题: org.springframework.web.util.estedServletException: Handlerdispatch failed: nested exception isjava.lang.0utOfMemoryError: Java heap space原因分析: 查询查询平台所…...

RCE---eval长度限制绕过技巧
目录 题目源码 方法一:命令执行的利用 方法二:file_put_contents(本地文件包含的利用) 方法三:usort(…$_GET); 题目源码 <?php $param $_REQUEST[param]; if(strlen($param)<17 && stripos($par…...
C++11标准模板(STL)- 算法库 - 类似 std::accumulate,但不依序执行 -(std::reduce)
算法库 算法库提供大量用途的函数(例如查找、排序、计数、操作),它们在元素范围上操作。注意范围定义为 [first, last) ,其中 last 指代要查询或修改的最后元素的后一个元素。 类似 std::accumulate,但不依序执行 std…...
反射机制的介绍
什么是反射 Java反射机制是Java语言一个很重要的特性,它使得Java具有了“动态性”。在Java程序运行时,对于任意的一个类,我们能不能知道这个类有哪些属性和方法呢?对于任意的一个对象,我们又能不能调用它任意的方法&a…...

AI图文带货,手把手教学,傻瓜操作,轻松日入500+,小白教程
通过自媒体的力量,帮助普通人成为企业家。 建立自己的财富事业,用你的影响力帮助更多的人。 从而实现你更加自由的生活方式。 记住关注我,不要错过每一次分享。 对标账号 作为公司的一个项目实际拆解者,最热门的项目怎么能不拆…...

java:实现简单的验证码功能
效果 实现思路 验证码图片的url由后端的一个Controller生成,前端请求这个Controller接口的时候根据当前时间生成一个uuid,并把这个uuid在前端使用localStorage缓存起来,下一次还是从缓存中获取。 Controller生成验证码之后,把前…...

MybatisPlus使用指南
MybatisPlus 1. 快速入门1.1 入门案例1.2 常见注解1.3 常见配置 2. 核心功能2.1 条件构造器2.2 自定义SQL2.3 Service接口 3. 扩展功能3.1 代码生成3.2 静态工具3.3 逻辑删除 4. 插件功能4.1 分页插件4.2 通用分页实体 1. 快速入门 1.1 入门案例 步骤一:引入Mybat…...
5. MongoDB 集合创建、更新、删除
1. 创建集合 1.1 语法 db.createCollection(name, options) 参数说明: name: 要创建的集合名称。options: 可选参数, 指定有关内存大小及索引的选项。 options 可以是如下参数: 参数名类型描述示例值capped布尔值是否创建一个固定大小的集合。truesize…...
PHP中如何将变量从函数传递给acf_add_filter
在PHP开发中,我们有时需要将变量从函数传递给acf的add_filter钩子。这样做可以让我们在acf字段加载时,对字段值进行动态修改。下面,我将详细介绍如何实现这一功能。 在acf中,我们使用add_filter来添加钩子,对字段的加…...
KNN算法的使用
目录 一、KNN 算法简介 二、KNN算法的使用 1.读取数据 2.处理数据 三、训练模型 1.导入KNN模块 2.训练模型 3.出厂前测试 四、进行测试 1.处理数据 2.进行测试 总结 一、KNN 算法简介 KNN 是一种基于实例的学习算法。它通过比较样本之间的距离来进行预测。算法的核心…...

java文件上传
导入jar包,或者maven <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>…...
MySQL 数据库经验总结
一、数据库操作 1. 创建数据库 CREATE DATABASE database_name;例如,创建一个名为 my_database 的数据库: CREATE DATABASE my_database;2. 选择数据库 USE database_name;要使用刚才创建的 my_database 数据库: USE my_database;3. 删除…...

Python环境安装及PIP安装(Mac OS版)
官网 https://www.python.org/downloads/ 安装python python-3.12.1-macos11.pkg下载后,安装一直下一步即可 验证是否安装成功,执行python3命令和pip3命令 配置环境变量 获取python3安装位置并配置在.bash_profile #查看python路径 which python3#…...

2024自动驾驶(多模态)大模型综述:从DriveGPT4、DriveMLM到DriveLM、DriveVLM
前言 由于今年以来,一直在不断深挖具身智能机器人相关,而自动驾驶其实和机器人有着无比密切的联系,甚至可以认为,汽车就是一个带着4个轮子的机器人 加之个人认为,目前大模型落地潜力最大的两个方向,一个是…...

晨控CK-GW08-EC与汇川AC801系列PLC的EtherCAT通讯连接说明手册
晨控CK-GW08-EC与汇川AC801系列PLC的EtherCAT通讯连接说明手册 晨控CK-GW08-EC是一款支持标准工业通讯协议EtherCAT的网关控制器,方便用户集成到PLC等控制系统中。系统还集成了8路读写接口,用户可通过通信接口使用EtherCAT协议对8路读写接口所连接的读卡器进行相对…...

向上or向下调整建堆 的时间复杂度的本质区别的讲解
知识点:(N代表节点数,h代表高度) 1:高度为h的满二叉树节点个数N为 2^(h)-1 即N 2^(h)-1 2:所以h log(N1) 一:向上…...

阿一网络安全实战演练之利用 REST URL 中的服务器端参数污染
所需知识 要解决这个实验室问题,您需要了解以下内容: 如何确定用户输入是否包含在服务器端的 URL 路径或查询字符串中。如何使用路径遍历序列尝试更改服务器端请求。如何查找 API 文档。 这些内容在我们的 API 测试学院主题中有涵盖。 进入实验室 研…...

[游戏开发] LuaTable转string存读二进制文件
UE5和Unity通用此方案,只不过读写文件的接口略有不同,lua代码的处理是相同的。 下面两个方法是 LuaTable和字符串互相转换的代码 function XUtils.luaTableToString(tab, sp)sp sp or ""local s ""for k,v in pairs(tab) doif t…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...