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

文章目录

  • 一、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::NoIconQMessageBox::QuestionQMessageBox::InformationQMessageBox::WarningQMessageBox::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.mzph.cn/news/866545.shtml

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

相关文章

【笔试记录】腾讯音乐 | 20230903 | cpp (更新ing)

1 完美数 1.1 题目描述 小红定义一个数为“完美数”&#xff0c;当且仅当该数仅有一个非零数字。例如 5000, 4, 1, 10, 200 都是完美数。 小红拿到了一个大小为 n&#xff08;2 < n < 2000&#xff09;的数组 a&#xff0c;她希望选择数组中的两个元素&#xff08;1 …

TTS文本转声音:fish-speech 推理、requests访问接口案例

参考: https://hub.docker.com/r/lengyue233/fish-speech https://speech.fish.audio/inference/#http-api 下载 下载模型: HF_ENDPOINT=https://hf-mirror.com huggingface-cli download fishaudio/fish-speech-1.2 --local-dir checkpoints/fish-speech-1.2下载的内容有…

maven项目、idea抽风问题解决

开发的时候遇到奇奇怪怪的非技术问题&#xff0c;解决起来会费时间&#xff0c;做无用功。   这里记录常见的情况和解决方法 1.未识别maven项目 文件的图标变成了这种橙色的&#xff0c;而且有主启动函数也不能run 右键pom文件&#xff0c;点击Add as Maven Project 如果…

【在大模型RAG系统中应用知识图谱】

【引子】 关于大模型及其应用方面的文章层出不穷&#xff0c;聚焦于自己面对的问题&#xff0c;有针对性的阅读会有很多的启发&#xff0c;本文源自Whyhow.ai 上的一些文字和示例。对于在大模型应用过程中如何使用知识图谱比较有参考价值&#xff0c;特汇总分享给大家。 在基于…

知识图谱构建助手安装配置使用!Sapphire Ventures最全Sales AI图谱:AI如何重塑销售行业?

知识图谱构建助手安装配置使用!Sapphire Ventures最全Sales AI图谱:AI如何重塑销售行业? 项目简介 llmgraph 使您能够从给定的源实体维基百科页面创建 GraphML、GEXF 和 HTML 格式(通过 pyvis 生成)的知识图。知识图谱是通过从 ChatGPT 或 LiteLLM 支持的其他大型语言模型…

14-8 小型语言模型的兴起

过去几年&#xff0c;我们看到人工智能能力呈爆炸式增长&#xff0c;其中很大一部分是由大型语言模型 (LLM) 的进步推动的。GPT-3 等模型包含 1750 亿个参数&#xff0c;已经展示了生成类似人类的文本、回答问题、总结文档等能力。然而&#xff0c;虽然 LLM 的能力令人印象深刻…

SonarWiz 8.0.1侧扫 浅剖 测深软件License获取

SonarWiz 8.0.1是功能强大的测绘软件&#xff01;提供强大的数据采集、后处理等功能操作&#xff0c;您将获得灵活完整的报告&#xff0c;并提供丰富的选项以便进行定制和更灵活的进行操作&#xff0c;软件功能齐全&#xff0c;包括完整的海底测绘解决方案&#xff0c;方便实时…

国产麒麟v10、UOS系统在线比较两个Word文件的内容差异

调用PageOffice的WordCompare方法&#xff0c;同时在线打开两个Word文档&#xff0c;可以切换显示其中的一个文档&#xff0c;或者显示两个文档的对比结果&#xff0c;即可实现在线的文档内容比较功能。此功能可以应用在以下方面&#xff1a; 文档管理中&#xff0c;比较两个版…

C++11|左、右值引用和移动语义

目录 一、左值引用 && 右值引用 1.1什么是左值&#xff1f;什么是左值引用&#xff1f; 1.2什么是右值&#xff1f;什么是右值引用&#xff1f; 1.3左值引用与右值引用比较 二、左、右值引用使用场景(为什么要有右值引用?) 2.1左值引用使用场景&#xff1a; 2.2右…

秋招突击——设计模式补充——简单工厂模式和策略模式

文章目录 引言正文简单工厂模式策略模式策略模式和工厂模式的结合策略模式解析 总结 引言 一个一个来吧&#xff0c;面试腾讯的时候&#xff0c;问了我单例模式相关的东西&#xff0c;自己这方面的东西&#xff0c;还没有看过。这里需要需要补充一下。但是设计模式有很多&…

数字IC设计-VCS和Verdi的使用

#学习记录# 前言&#xff1a;本文以一个简单的计数器来说明vcs和verdi的使用 1 代码文件 1.1 计数器代码 //Engineer&#xff1a;Mr-pn-junction module counter(input clk,input rst,output reg [5:0] count); always(posedge clk or negedge rst)beginif(!rst)coun…

【算法】(C语言):二分查找

二分查找&#xff1a; 获取查找区域的中间位置。若中间位置的数据就是要找的值&#xff0c;则返回true。若要找的值 小于 中间位置的数据&#xff0c;则往左边查找。若要找的值 大于 中间位置的数据&#xff0c;则往右边查找。重复1和2&#xff0c;若没有要找的值&#xff0c;…

业界数据架构的演变

目录 一、概述 二、业务处理-单体架构 三、业务处理-微服务架构 四、数据分析-大数据Lambda架构 五、数据分析-Kappa架构 六、数据分析-LambdaKappa混合架构 七、湖仓一体架构 一、概述 近年来随着越来越多的大数据技术被开源&#xff0c;例如&#xff1a;HDFS、Spark等…

【Linux进程通信】共享内存

目录 共享内存函数 头文件 shmget ftok函数​ shmat shmdt shmctl 共享内存区是最快的IPC 形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到操作系统内核&#xff0c;换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据…

《向量数据库指南》——Milvus Cloud查询增强如何提升 RAG Pipeline 效果?

查询增强 1.假设性问题 这一方法首先使用LLM为每一条文档块生成一些假设问题,这些文档块可以回答与之对应的假设问题。在RAG阶段,进行一个query-to-query的搜索,先搜索到相关的假设问题,然后找到对应的文档块,再通过它们生成最后的回答。 这里的query-to-query指的是embed…

【数据库】仓库管理数据库(练习样例)

某连锁超市需要设计实现一个仓库管理系统&#xff0c;要求每个仓库可以有多名仓库管理员&#xff0c;每个仓库管理员只负责管理一个仓库&#xff0c;同时每个仓库都配备了一名仓库主管&#xff1b;不同的仓库存放的是不同类型的货品&#xff0c;每种货品只存放在固定的仓库中&a…

R语言数据分析案例40-华安中证基金多元线性回归和分析预测

一、引言 基金是一种非常受欢迎的投资工具&#xff0c;由于其具有风险分散、专业管理等特点&#xff0c;越来越多的投资者选择将资金投入基金市场。然而&#xff0c;基金的表现却受到很多因素的影响&#xff0c;如股票市场的整体表现、基金管理人员的能力、基金规模、基金管理…

二二复制模式,发展下属并形成一个销售网络体系来实现收入增长!

二二复制模式&#xff0c;又称为双轨制&#xff0c;是一种直销理念的营销模式&#xff0c;其核心在于通过发展下属并形成一个销售网络体系来实现收入增长。以下是对二二复制模式的详细讲解&#xff0c;包括其优势和玩法介绍&#xff0c;以及适合的行业。 一、二二复制模式的定…

Flutter集成高德导航SDK(Android篇)(JAVA语法)

先上flutter doctor&#xff1a; flutter sdk版本为&#xff1a;3.19.4 引入依赖&#xff1a; 在app的build.gradle下&#xff0c;添加如下依赖&#xff1a; implementation com.amap.api:navi-3dmap:10.0.700_3dmap10.0.700navi-3dmap里面包含了定位功能&#xff0c;地图功能…