首页 > 其他分享 >Qt(二)弹窗类 颜色对话框 字体对话框 资源文件

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

时间:2024-07-05 11:57:24浏览次数:17  
标签:const Qt 对话框 ---- QIcon QString QMessageBox 弹窗

文章目录

一、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) 

标签:const,Qt,对话框,----,QIcon,QString,QMessageBox,弹窗
From: https://blog.csdn.net/weixin_44254079/article/details/140171139

相关文章

  • Qt调用Matlab(一)
    目录1概述2创建Qt工程2.1增加Matlab支持3调用Matlab3.1widget.h3.2widget.cpp4运行4.1配置4.2运行1概述  MATLAB是MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融......
  • Qt实现汽车仪表盘
    在UI界面显示中,仪表盘的应用相对比较广泛,经常用于显示速度值,电压电流值等等,最终实现效果如下动态图片(文末提供给源工程下载): 主要包含以下绘制步骤:绘制画布/**绘制画布*/voidWidget::initCanvas(QPainter&painter){//消除锯齿painter.setRenderHint(QPai......
  • qt 入门常用类理解(涉及QMessageBox,Layout,Spacers,Splitter,Buuddy,LoginApp,QFile,
    1.QMessageBoxQMessageBox::Yes QApplication::quit();QMessageBox::exec用于在模态(阻塞式)对话框中显示一个消息框,并等待用户的响应。这个函数通常用于在应用程序中显示消息、警告或询问对话框,并等待用户采取适当的操作后继续执行。int QMessageBox::exec()exec 函数没有......
  • Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景在当今社会,随着人们对环境保护意识的增强以及科技的快速发展,智能化的垃圾分类系统成为了一个热门的研究方向。结合深度学习技术,尤其是先进的图像识......
  • PyQt5入门教程:从安装到构建简单应用
    PyQt5入门教程:从安装到构建简单应用简介PyQt5是一个功能强大的Python绑定库,用于Qt应用程序框架。它允许我们使用Python语言快速开发跨平台的桌面应用程序。本教程将引导你完成PyQt5的安装、配置,并带你创建一个简单的图形用户界面(GUI)应用程序。Part1:安装PyQt5在你的开......
  • Android AlertDialog对话框
    目录AlertDialog对话框普通对话框单选框多选框自定义框AlertDialog对话框部分节选自博主编《Android应用开发项目式教程》(机械工业出版社)2024.6在Android中,AlertDialog弹出对话框用于显示一些重要信息或者需要用户交互的内容。弹出对话框一般以小窗口的形式展示在......
  • Qt Json详细介绍
    一.概念介绍JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它具有以下特点:易读性:JSON使用人类可读的文本格式表示数据,采用键值对的方式组织数据,易于阅读和编辑。轻量级:JSON数据格式较为简洁,不包含冗余信息,适合网络传输和存......
  • QThread::run函数的使用(涉及到QThread::run, Qthread::start,protected,virtual虚函数,o
    RobotCommuServer.h#ifndefROBOTCOMMUSERVER_H#defineROBOTCOMMUSERVER_H#include<QThread>classRobotCommuServer:publicQThread{Q_OBJECTpublic:explicitRobotCommuServer(QObject*parent=nullptr);~RobotCommuServer();void......
  • MQTT专题
    什么是MqttMQTT协议 全称是(MessageQueuingTelemetryTransport),即消息队列遥测传输协议。是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,并且该协议构建于TCP/IP协议之上,我们知道TCP协议本身就具有高可靠性的特点,因此基于其上的MQTT协议同样也是具有高可靠、低开......
  • 用PyQt5打造炫酷界面:深入解析pyqt5-custom-widgets
    在PyQt5中,使用自定义小部件可以为应用程序增添更多实用性和时尚感。pyqt5-custom-widgets是一个开源项目,提供了一系列有用且时尚的自定义小部件,如开关按钮、动画按钮等。本文将详细介绍pyqt5-custom-widgets的安装和使用方法。安装可以使用PIP进行安装(根据你的平台,可能是......