一、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界面

Qt(二)弹窗类 颜色对话框 字体对话框 资源文件-LMLPHP
下拉箭头–>选择文件/选择资源

(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. 将资源文件添加到工程中,注意路径不要有中文(注意添加到工程文件中,不要加到影子文件中)
    Qt(二)弹窗类 颜色对话框 字体对话框 资源文件-LMLPHP
  2. 文件->新建文件或者项目
    Qt(二)弹窗类 颜色对话框 字体对话框 资源文件-LMLPHP
  3. 添加文件
    Qt(二)弹窗类 颜色对话框 字体对话框 资源文件-LMLPHP
  4. 修改前缀,选中要添加的资源,点击打开
    Qt(二)弹窗类 颜色对话框 字体对话框 资源文件-LMLPHP
    Qt(二)弹窗类 颜色对话框 字体对话框 资源文件-LMLPHP

(二)添加图标的方式

第一种方式:通过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) 
07-07 02:52