Qt消息对话框

问题对话框

对应API

[static] QMessageBox::StandardButton QMessageBox::question(
QWidget *parent, 
const QString &title, 
const QString &text, 
QMessageBox::StandardButtons buttons = StandardButtons(Yes | No),
QMessageBox::StandardButton defaultButton = NoButton)

举例:

//参数1:父窗口
//参数2:对话框标题
//参数3:对话框提示文本
//参数4:对话框按钮
//参数5:对话框刚弹出时默认选择的按钮
//返回值:点击的按钮
auto choice = QMessageBox::question(this,
    "Question",
    "你是否想退出,请选择:",
    QMessageBox::Ok | QMessageBox::Cancel,
    QMessageBox::Ok);
switch (choice) {
    case QMessageBox::Ok:
        //do something
        qDebug() << "选择了ok";
        break;
    case QMessageBox::Cancel:
        //do something
        qDebug() << "选择了cancel";
        break;
    default:
        break;
}

提示对话框

对应API

[static] QMessageBox::StandardButton QMessageBox::information(
  	QWidget * parent,
    const QString & title,
    const QString & text, 
   	QMessageBox::StandardButtons buttons = Ok,
    QMessageBox::StandardButton defaultButton = NoButton)

 举例:

//参数1:父窗口
//参数2:对话框标题
//参数3:对话框提示文本
//其余几个参数使用默认的就好了,提示对话框不需要什么按钮
//返回值:点击的按钮
auto choice = QMessageBox::information(this, "Information", "即将退出!");
switch (choice) {
    case QMessageBox::Ok:
        //do something
        qDebug() << "选择了ok";
        break;
    case QMessageBox::Cancel:
        //do something
        qDebug() << "选择了cancel";
        break;
    default:
        break;
}

警告对话框

对应API

[static] QMessageBox::StandardButton QMessageBox::warning(
  	QWidget * parent,
    const QString & title,
	const QString & text, 
    QMessageBox::StandardButtons buttons = Ok,
	QMessageBox::StandardButton defaultButton = NoButton)

举例:

//参数1:父窗口
//参数2:对话框标题
//参数3:对话框提示文本
//参数4:对话框按钮
//参数5:对话框刚弹出时默认选择的按钮
//返回值:点击的按钮
auto choice = QMessageBox::warning(this, "Warning", "会被删除!",
    QMessageBox::Ok | QMessageBox::Cancel,
    QMessageBox::Cancel);
switch (choice) {
    case QMessageBox::Ok:
        //do something
        qDebug() << "选择了ok";
        break;
    case QMessageBox::Cancel:
        //do something
        qDebug() << "选择了cancel";
        break;
    default:
        break;
}

错误对话框

对应API

[static] QMessageBox::StandardButton QMessageBox::critical(
  	QWidget * parent,
    const QString & title,
	const QString & text, 
  	QMessageBox::StandardButtons buttons = Ok,
	QMessageBox::StandardButton defaultButton = NoButton)

举例:

//参数1:父窗口
//参数2:对话框标题
//参数3:对话框提示文本
//其余几个参数使用默认的就好了,错误对话框不需要什么按钮
//返回值:点击的按钮
auto choice = QMessageBox::critical(this, "critical", "错误操作!");
switch (choice) {
    case QMessageBox::Ok:
        //do something
        qDebug() << "选择了ok";
        break;
    case QMessageBox::Cancel:
        //do something
        qDebug() << "选择了cancel";
        break;
    default:
        break;
}

关于对话框

就是一个简单的对话框,可以介绍一些版本信息什么的

对应API

[static] void QMessageBox::about(
  	QWidget * parent,
    const QString & title,
	const QString & text)

举例:

//参数1:父窗口
//参数2:对话框标题
//参数3:对话框提示文本
QMessageBox::about(this, "about", "版本:v1.1");

自定义消息对话框

相关API

  • 设置标题
  • void QMessageBox::setWindowTitle(const QString &title)
  • 设置自定义图片
  • void setIconPixmap(const QPixmap &pixmap)
  • 设置文本
  • void setText(const QString &text
  • 设置按钮
  • //自定义按钮role一般设置为QMessageBox::ButtonRole::ActionRole
    //返回值:添加的按钮
    QPushButton *QMessageBox::addButton(const QString &text, QMessageBox::ButtonRole role)
  • 获取点击的按钮
  • QAbstractButton *QMessageBox::clickedButton() const

举例:

QMessageBox custom_message_box;

//1.设置标题
custom_message_box.setWindowTitle("自定义对话框");
//2.设置图片
custom_message_box.setIconPixmap(QPixmap(":/11.png").scaled(20, 20));
//3.设置文本
custom_message_box.setText("这是一个自定义对话框");
//4.添加按钮
QPushButton * btn_yes = custom_message_box.addButton("YES", QMessageBox::ButtonRole::ActionRole);
QPushButton * btn_no = custom_message_box.addButton("NO", QMessageBox::ButtonRole::ActionRole);
//模态显示对话框
custom_message_box.exec();
//5.获取点击的按钮
if (custom_message_box.clickedButton() == btn_yes) {
    //do something...
} else if (custom_message_box.clickedButton() == btn_no) {
    //do something...
}

 学习链接:https://github.com/0voice

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

「Java服务」快速接入SkyWalking方法指南

一、背景 背景&#xff1a;Apache SkyWalking 是一个开源的分布式应用性能监控&#xff08;APM&#xff09;系统&#xff0c;主要用于监控微服务、云原生和容器化应用的性能。接入SkyWalking可以排查以智能投放服务为主的服务响应问题 技术架构 SkyWalking 的核心架构包括以…

【开源物联网平台】Fastbee数据库持久层架构

目录 一&#xff0c;数据库持久层架构 二&#xff0c;数据库组件 2.1 Druid 2.2 MyBatis-Plus 2.3 dynamic-datasource 2.4 ShardingSphere 一&#xff0c;数据库持久层架构 二&#xff0c;数据库组件 2.1 Druid Druid是Java语言中最好的数据库连接池。Druid能够提供强…

Chrome与Firefox浏览器HTTP自动跳转HTTPS的解决方案

一、背景介绍 随着网络安全意识的不断提高&#xff0c;越来越多的网站开始采用HTTPS协议&#xff0c;以确保数据传输的安全性。然而&#xff0c;有时用户在浏览网页时&#xff0c;可能会遇到HTTP请求被自动跳转至HTTPS的情况导致网站打不开&#xff0c;提示安全问题&#xff0…

android——自定义控件(不停变化的textview、开关switch、动画效果的打勾)

一、从开始数字到结束数字&#xff0c;不断变化 import android.animation.TypeEvaluator; import android.animation.ValueAnimator; import android.content.Context; import android.util.AttributeSet; import android.view.animation.AccelerateDecelerateInterpolator;i…

深度学习实战94-基于图卷积神经网络GCN模型的搭建以及在金融领域的场景

大家好,我是微学AI,今天给大家介绍一下深度学习实战94-基于图卷积神经网络GCN模型的搭建以及在金融领域的场景。文章首先介绍了GCN模型的原理及模型结构,随后提供了数据样例,并详细展示了实战代码。通过本文,读者可以深入了解GCN模型在金融场景下的应用,同时掌握代码的具…

使用标注工具并跑通官方yolov8分割segment自己的数据集

1.下载标注工具用于打标签 使用标注工具&#xff0c;后面会用到智能标注 点击 创建AI多边形后命令行就自动下载对应的模型 单机要选中的图像就行&#xff0c;就可以智能选中&#xff0c;双击设置标签 依次标注所有图片 &#xff0c;最后保存成json格式的文件 2.使用labelme2y…

关于mac下的nvm设置淘宝镜像源

1. 进入配置文件修改镜像源 vim ~/.bash_profile增加下面内容 export NVM_NODEJS_ORG_MIRRORhttps://npmmirror.com/mirrors/node/2. 查看远程node镜像 nvm ls-remote3. 下载镜像 nvm install 14.17.64. 使用镜像 nvm use 14.17.6

总台戏曲探访类创新节目《风味梨园》开播 探寻一座城市的戏曲文化地图

戏曲艺术犹如一颗璀璨的明珠&#xff0c;承载着中华民族千年的历史文化底蕴&#xff0c;以其独有的艺术魅力&#xff0c;如悠扬的旋律、精湛的表演&#xff0c;深深吸引着无数观众。而每一座城市隐匿其后的美食文化&#xff0c;恰似一首动人的诗篇&#xff0c;代表着人们对美好…

2013年国赛高教杯数学建模A题车道被占用对城市道路通行能力的影响解题全过程文档及程序

2013年国赛高教杯数学建模 A题 车道被占用对城市道路通行能力的影响 车道被占用是指因交通事故、路边停车、占道施工等因素&#xff0c;导致车道或道路横断面通行能力在单位时间内降低的现象。由于城市道路具有交通流密度大、连续性强等特点&#xff0c;一条车道被占用&#x…

数学建模算法与应用 第11章 偏最小二乘回归及其方法

目录 11.1 偏最小二乘回归概述 11.2 Matlab 偏最小二乘回归命令 Matlab代码示例&#xff1a;偏最小二乘回归 11.3 案例分析&#xff1a;化学反应中的偏最小二乘回归 Matlab代码示例&#xff1a;光谱数据的PLS回归 习题 11 总结 偏最小二乘回归&#xff08;Partial Least …

MySQL 【日期】函数大全(三)

DATEOFYEAREXTRACTFROM_DAYSFROM_UNIXTIMEHOURLAST_DAYLOCALTIMELOCALTIMESTAMP 1、DATEOFYEAR DATEOFYEAR(expr) &#xff1a;返回一个从 1 到 366 代表给定日期是一年中的第几天的数字。 如果指定的表达式不是一个合法的日期或者日期时间&#xff0c;DAYOFYEAR() 函数将返回…

无功补偿设备在室内及室外安装的区别

无功补偿设备在室内和室外的安装存在多方面的区别&#xff0c;包括环境条件、设备选择、安装要求以及维护方式。下面详细介绍两者的区别及相应的注意事项。 一、环境条件的差异 1、室内安装 温度和湿度&#xff1a;相对受控&#xff0c;温度变化较小&#xff0c;湿度可调节&…

k8s的部署和安装

k8s的部署和安装 一、Kubernets简介及部署方法 1.1 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个阶段&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参…

STM32传感器模块编程实践(六) 1.8寸液晶屏TFT LCD彩屏简介及驱动源码

文章目录 一.概要二.TFT彩屏主要参数三.TFT彩屏参考原理图四.TFT彩屏模块接线说明五.模块SPI通讯协议介绍六.TFT彩屏模块显示1.显示英文字符串2.显示数字3.显示中文 七.TFT彩屏实现图片显示八.STM32单片机1.8寸 TFT LCD显示实验1.硬件准备2.软件工程3.软件主要代码4.实验效果 九…

Redis set类型 zset类型

set类型 类型介绍 集合类型也是保存多个字符串类型的元素的&#xff0c;但和列表类型不同的是&#xff0c;集合中 1&#xff09;元素之间是⽆序 的 2&#xff09;元素不允许重复 ⼀个集合中最多可以存储 个元素。Redis 除了⽀持 集合内的增删查改操作&#xff0c;同时还⽀持多…

【Vue】扫盲(五)Vue 的生命周期与钩子函数详解

【Vue】Vue扫盲&#xff08;一&#xff09;事件标签、事件修饰符&#xff1a;click.prevent click.stop click.stop.prevent、按键修饰符、及常用指令 【Vue】Vue扫盲&#xff08;二&#xff09;指令&#xff1a;v-for 、v-if、v-else-if、v-else、v-show 【Vue】Vue扫盲&…

多种方式确定Linux是CentOS还是Ubuntu

目录 前言正文 前言 对应的基本知识比较少&#xff0c;以下只是记录总结 由于目前使用的是centos&#xff0c;后续找到linux会对应补充 正文 要确定Linux系统是CentOS还是Ubuntu&#xff0c;可以通过以下几种方式进行分析 一、查看发行版信息文件&#xff1a; CentOS&…

Prism导航入门学习笔记

首先创建一个空的Prism项目 在View文件夹中创建一个UserControl的A界面&#xff0c;再在ViewModel中创建一个AViewModel的类 在主页面中创建Button按钮&#xff0c;使用Command属性&#xff0c;指向导航命令的方法&#xff0c;CommandParameter指向导航的页面 <Grid><…

【Java】画心形图形

开始看到的是这个爱心图形&#xff0c;挺好看的&#xff08;感谢这些前端巨佬&#xff09;&#xff1a; HTML流光爱心_爱心代码html-CSDN博客 本来想着自己看下这个源代码能不能实现&#xff0c;看了下源代码其实非常复杂。 在看代码的过程中发现&#xff0c;源代码里边给出…

多线程(二):创建线程关键属性终止线程

目录 1、run & start 2、Thread类常见的属性和方法 2.1 构造方法 2.2 属性 3、后台进程 & 前台进程 4、后台线程的判断和设定——isDaemon & setDaemon 5、线程是否存活——isAlive 6、终止一个线程 6.1 lambda变量捕获 6.2 currentThread & isInterr…