Qt(二)弹窗类 颜色对话框 字体对话框 资源文件

news2024/11/28 10:12:30

文章目录

  • 一、QDebug类和QMessagebox类
    • (一)QDebug类:打印调试类
    • (二)QMessagebox类:弹窗类
      • 2. 修改组件图标
        • (1)通过ui界面
        • (2)通过QIcon的方式
        • (3)通过QPixmap类
      • 3. 使用示例
        • (1)实例化对象实现
      • 2. 静态函数版本
  • 二、颜色对话框和字体对话框类
    • (一)QColorDialog
    • (二)QFontDialog
  • 三、资源文件
    • (一)添加资源文件
    • (二)添加图标的方式

一、QDebug类和QMessagebox类

(一)QDebug类:打印调试类

//头文件
#include <QDebug>

(二)QMessagebox类:弹窗类

头文件:
#include <QMessagebox>

第一种方式:实例化对象版本
QMessageBox::QMessageBox(
          QMessageBox::Icon icon,  ---- 图标
          const QString &title,    ---- 标题
          const QString &text,     ---- 文本信息
          QMessageBox::StandardButtons buttons = NoButton,  ---- 按钮
          QWidget *parent = nullptr,  ---- 父亲
          Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint) --- 默认值(不用不给即可)

第二种方式:静态函数版本
[static]------静态版本
QMessageBox::StandardButton QMessageBox::question(
          QWidget *parent,  ----- 父亲
          const QString &title,   ----- 标题
          const QString &text,    ------ 文本信息
          QMessageBox::StandardButtons buttons = StandardButtons(Yes | No), ---- 按钮
          QMessageBox::StandardButton defaultButton = NoButton)     ---- 按钮  
 
五种弹窗:      
 QMessageBox::NoIcon
 QMessageBox::Question
 QMessageBox::Information
 QMessageBox::Warning
 QMessageBox::Critical

2. 修改组件图标

(1)通过ui界面

在这里插入图片描述
下拉箭头–>选择文件/选择资源

(2)通过QIcon的方式

在demo.cpp中,通过QIcon类

#include <QIcon>

QIcon::QIcon(const QString &filename)

使用:

 QIcon icon_q("C:\\Users\\Administrator\\Desktop\\question.jpg");
 ui->btn_question->setIcon(icon_q);
(3)通过QPixmap类
#include <QPixmap>

使用:

QPixmap map_w("C:\\Users\\Administrator\\Desktop\\warning.jpg");
QIcon icon_w(map_w);
ui->btn_warning->setIcon(icon_w);

这样写也不会报错:

QPixmap map_w("C:\\Users\\Administrator\\Desktop\\warning.jpg");
ui->btn_warning->setIcon(map_w);

3. 使用示例

(1)实例化对象实现
//按钮的槽函数
void demo::on_btn_noicon_clicked()
{
    //第一种版本:实例化对象版本
    QMessageBox box(QMessageBox::NoIcon,
                    "弹窗标题",
                    "弹窗内容",
                    QMessageBox::Yes | QMessageBox::No,
                    this);
    int btn = box.exec();
    if(btn == QMessageBox::Yes) {
        qDebug() << "按下的是yes按键";
    } else if(btn == QMessageBox::No) {
        qDebug() << "按下的是No按键";
    }
}
  • 注:
  • virtual int exec()阻塞函数

2. 静态函数版本

[static]   -----  静态函数
QMessageBox::StandardButton QMessageBox::question(
      QWidget *parent,  ----- 父亲
      const QString &title,   ----- 标题
      const QString &text,    ------ 文本信息
      QMessageBox::StandardButtons buttons = StandardButtons(Yes | No), ---- 按钮
      QMessageBox::StandardButton defaultButton = NoButton)     ---- 按钮  
    //第二种版本:静态版本
    QMessageBox::StandardButton btn =
        QMessageBox::question(
            this,
            "标题文本",
            "文本信息",
            QMessageBox::Yes | QMessageBox::No);
    if(btn == QMessageBox::Yes) {
        qDebug() << "按下的是yes按键";
    } else if(btn == QMessageBox::No) {
        qDebug() << "按下的是No按键";
    }

二、颜色对话框和字体对话框类

(一)QColorDialog

[static] ----静态函数--- 不需要实例化对象
  QColor QColorDialog::getColor(
          const QColor &initial = Qt::white,  ----- 设置颜色
          QWidget *parent = nullptr,  ---- 父亲
          const QString &title = QString(),  ----- 标题
          QColorDialog::ColorDialogOptions options = ColorDialogOptions()) --- 默认值
 

  QColor:颜色类
  QColor::QColor(const QColor &color)  ----  设置颜色
  bool QColor::isValid() const  ---- 判断颜色是否设置成功
  Returns true if the color is valid; otherwise returns false.

(二)QFontDialog

 [static] ---- 静态函数
  QFont QFontDialog::getFont(
      bool *ok,  ---- 字体状态
      const QFont &initial,  ---- 默认字体
      QWidget *parent = nullptr,  -----父亲
      const QString &title = QString(),  ----  标题
      QFontDialog::FontDialogOptions options = FontDialogOptions())  ---- 默认值


 QFont:字体类
  QFont::QFont(
      const QString &family, --- 字体:宋体、楷体、黑体....
      int pointSize = -1,    --- 字体大小
      int weight = -1,       --- 宽度
      bool italic = false)    ----斜体
  void setFont(const QFont &);----- 设置字体

三、资源文件

Qt资源文件就是利用Qt创造器和rcc资源编译器将Qt资源进行汇总到工程中。
Qt资源文件是不能自己转换为C++代码,需要借助RCC编译器转换为C++代码。
QtCreator集成软件将以上的内容交给了xxx.pro工程文件,自动生成Makefile文件,最后由Makefile文件完成

(一)添加资源文件

  1. 将资源文件添加到工程中,注意路径不要有中文(注意添加到工程文件中,不要加到影子文件中)
    在这里插入图片描述
  2. 文件->新建文件或者项目
    在这里插入图片描述
  3. 添加文件
    在这里插入图片描述
  4. 修改前缀,选中要添加的资源,点击打开
    在这里插入图片描述
    在这里插入图片描述

(二)添加图标的方式

第一种方式:通过ui界面的右侧的属性进行添加图标
选择父窗口—>在右侧属性中选择WindowIcon–>点击小三角选择添加资源

第二种方式:通过QIcon类
QIcon::QIcon(const QString &fileName) ----参数:文件的名字(说白了文件的路径)

第三种方式:通过QPixmap类

QIcon::QIcon(const QPixmap &pixmap)
QPixmap::QPixmap(
    const QString &fileName, ---- 文件的名字(说白了文件的路径)
    const char *format = nullptr, 
    Qt::ImageConversionFlags flags = Qt::AutoColor) 

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

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

相关文章

SpringBoot新手快速入门系列教程五:基于JPA的一个Mysql简单读写例子

现在我们来做一个简单的读写Mysql的项目 1&#xff0c;先新建一个项目&#xff0c;我们叫它“HelloJPA”并且添加依赖 2&#xff0c;引入以下依赖&#xff1a; Spring Boot DevTools (可选&#xff0c;但推荐&#xff0c;用于开发时热部署)Lombok&#xff08;可选&#xff0c…

如何在前端网页实现live2d的动态效果

React如何在前端网页实现live2d的动态效果 业务需求&#xff1a; 因为公司需要做机器人相关的业务&#xff0c;主要是聊天形式的内容&#xff0c;所以需要一个虚拟的卡通形象。而且为了更直观的展示用户和机器人对话的状态&#xff0c;该live2d动画的嘴型需要根据播放的内容来…

aardio —— 今日减bug

打字就减bug 鼠标双击也减bug 看看有多少bug够你减的 使用方法&#xff1a; 1、将资源附件解压缩&#xff0c;里面的文件夹&#xff0c;放到aardio\plugin\plugins 目录 2、aardio 启动插件 → 插件设置 → 选中“今日减bug” → 保存。 3、重启 aardio&#xff0c;等aa…

高效率写文案软件有哪些?5款免费文案生成器值得拥有

在信息洪流奔涌的当下&#xff0c;文案的重要性愈发凸显。对于文案创作者来说&#xff0c;找到能提高效率的软件至关重要&#xff0c;如&#xff1a;市面上有些不错的文案生成器&#xff0c;它们能够为大家自动生成出高质量文案内容&#xff0c;给文案创作者提供了非常大的帮助…

Python和MATLAB微机电健康推导算法和系统模拟优化设计

&#x1f3af;要点 &#x1f3af;惯性测量身体活动特征推导健康状态算法 | &#x1f3af;卷积网络算法学习惯性测量数据估计六自由度姿态 | &#x1f3af;全球导航卫星系统模拟&#xff0c;及惯性测量动态测斜仪算法、动态倾斜算法、融合算法 | &#x1f3af;微机电系统加速度…

vb.netcad二开自学笔记2:认识vs编辑器

认识一下宇宙第一编辑器的界面图标含义还是很重要的&#xff0c;否则都不知道面对的是什么还怎么继续&#xff1f; 一、VS编辑器中常见的图标的含义 变量 长方体&#xff1a;变量 局部变量 两个矩形块&#xff1a;枚举 预定义的枚举 紫色立方体&#xff1a;方法 橙色树状结构…

vs2022安装qt vs tool

1 缘由 由于工作的需要&#xff0c;要在vs2022上安装qt插件进行开发。依次安装qt&#xff0c;vs2022&#xff0c;在vs2022的扩展管理中安装qt vs tool。 2 遇到困难 问题来了&#xff0c;在qt vs tool的设置qt version中出现问题&#xff0c;设置msvc_64-bit时出现提示“invali…

理解GCN

一、从CNN到GNN 1、CNN可被视为一类特殊的GNN&#xff0c;相邻节点大小顺序固定的GNN。 2、利用消息传递进行节点分类的例子&#xff1a; 给定上面的图&#xff0c;和少量已经分类的节点&#xff08;红&绿&#xff09;&#xff0c;对剩余其他节点进行分类&#xff0c;这是…

C语言 do while 循环语句练习 中

练习&#xff1a; 4.编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 // 编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 //welcome to china!!! //w ! //we !! //wel !!! //.... //welco…

三、docker配置阿里云镜像仓库并配置docker代理

一、配置阿里云镜像仓库 1. 登录阿里云官网&#xff0c;并登录 https://www.aliyun.com/ 2. 点击产品 - 容器 - 容器与镜像服务ACR - 管理控制台 - 镜像工具 - 镜像加速器 二、配置docker代理 #1. 创建docker相关的systemd文件 mkdir -p /etc/systemd/system/docker.servic…

均匀采样信号的鲁棒Savistky-Golay滤波(MATLAB)

S-G滤波器又称S-G卷积平滑器&#xff0c;它是一种特殊的低通滤波器&#xff0c;用来平滑噪声数据。该滤波器被广泛地运用于信号去噪&#xff0c;采用在时域内基于多项式最小二乘法及窗口移动实现最佳拟合的方法。与通常的滤波器要经过时域&#xff0d;频域&#xff0d;时域变换…

Linux操作系统的引导过程

系统初始化进程与文件、systemd概述、单元类型、切换运行级别、查看系统默认默认运行、永久切换、常见的系统服务&#xff08;centos&#xff09;-CSDN博客 centos 7系统升级内核&#xff08;ELRepo仓库&#xff09;、小版本升级、自编译内核-CSDN博客 ss命令详细使用讲解文…

Zigbee智能家居数据中心:微信小程序实时掌控家居传感器信息

摘要&#xff1a; 本文将介绍如何构建一个基于Zigbee和微信小程序的智能家居网关&#xff0c;实现对家居传感器数据的采集、汇总和展示。用户可通过微信小程序实时查看家中温湿度、光照等环境数据&#xff0c;为智能家居系统提供数据支撑。 关键词&#xff1a; Zigbee&#xf…

Docker简单入门

docker简单入门 &#x1f91a;我的博客&#x1f95b;前言 docker安装&#x1f537;常见命令镜像命令容器命令其他命令 docker部署mysql容器docker数据卷&#x1f537;挂载数据卷&#x1f537;本地目录挂载 创建一个自定义Docker镜像&#x1f537;镜像文件&#x1f537;构建镜像…

逻辑图框架图等结构图类图的高效制作方式不妨进来看看

**逻辑图框架图等结构图类图的高效制作方式不妨进来看看** 基于我们每天都在处理大量的数据和信息。为了更清晰地理解和传达这些信息&#xff0c;结构图、逻辑图和框架图等可视化工具变得越来越重要。然而&#xff0c;如何高效地制作这些图表并确保其准确性和易读性呢&#xf…

UCOS-III 任务同步机制-信号量

1. 信号量类型 1.1 二值信号量&#xff08;Binary Semaphores&#xff09; 二值信号量只有两个状态&#xff1a;可用&#xff08;1&#xff09;和不可用&#xff08;0&#xff09;。它主要用于任务之间的互斥访问或者事件通知。例如&#xff0c;当一个任务完成某个操作后&am…

浏览器打不开网页、但是电脑有网络,解决办法(win11)

2023.07.06测试有效 华为电脑拿去免费拆机保养后&#xff0c;发现浏览器连接不上网了&#xff0c;但是&#xff01;微信又能登录得上&#xff0c;也就是说电脑还是有网的。 原文链接 一、问题截图 二、解决方法 1.右键打开“网络和Internet设置” 2.打开“代理” 3.将该选项设…

匠心传承 筑梦大兴 大兴区餐饮行业职工职业技能竞赛完美收官

隆重举行&#xff0c;北京市商务局二级调研员林英杰&#xff0c;大兴区商务局党组书记、局长王丽娜&#xff0c;区总工会二级调研员侯月海&#xff0c;区商务局副局长、工会主席兰莉及各区县餐饮行业协会相关负责人、获奖单位、参赛职工等160余人参加大会。 此次竞赛通过前期调…

东莞惠州数据中心机房搬迁方案流程

进入21世纪以来&#xff0c;数据中心如雨后春笋般在各行各业兴建起来&#xff0c;经过近20年的投产运行&#xff0c;大量的数据中心机房存在容量不足、机房陈旧、设备老化无法支撑业务发展的情况&#xff0c;产生机房改造、搬迁需求。为安全、可靠地完成机房搬迁&#xff0c;减…

Unity中使用VectorGraphics插件时,VectorUtils.RenderSpriteToTexture2D方法返回结果错误的解决方法

Unity中使用VectorGraphics插件时&#xff0c;如果使用VectorUtils.BuildSprite方法创建Sprite&#xff0c;那么得到的Sprite往往是一个三角网格数比较多的Sprite&#xff0c;如果想要得到使用贴图只有两个三角面的方形Sprite&#xff0c;可以使用该插件提供的VectorUtils.Rend…