1.资源文件
1.1 将静态资源文 件放到项目位置下
1.2 右键项目—>添加新文件 -> QT->QT Resource File -> 资源文件起名
1.3 res生成 res.qrc
1.4 open in editor 编辑资源
1.5 添加前缀、添加文件
1.6 使用”:+ 前缀名 + 文件名”
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui->setupUi(this);ui->menuBar->setNativeMenuBar(false);ui->actionnew->setIcon(QIcon(":/Image/Luffy.png"));ui->actionopen->setIcon(QIcon(":/Image/LuffyQ.png"));//使用添加QT资源}MainWindow::~MainWindow(){delete ui;}
2.对话框
2.1 模态对话框 不可以对其它对话框进行操作
2.1.1 QDialog dig(this);
2.1.2 dig.exec(); 阻塞
2.2 非模态对话框 可以对其它对话框进行操作
2.2.1 防止一闪而过 创建到了堆
QDialog *dig2 = new QDialog(this);
dig2->show();
2.2.2 防止内存泄漏
dig2->setAttribute(Qt::WA_DeleteOnClose);
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui->setupUi(this);//点击新建按钮,打开对话框connect(ui->actionnew, &QAction::triggered, [=](){//对话框 分类//模态对话框(不可以对其他窗口操作) 非模态对话框(可以对其他窗口可以操作)//模态创建 阻塞// QDialog dig(this);// dig.resize(200, 100);// dig.exec();// qDebug() << "模态对话框弹出了";//非模态//防止一闪而过,创建在堆区QDialog *dig2 = new QDialog(this);dig2->resize(100, 200);dig2->show();//开关 开关 会内存泄露//防止泄露 55dig2->setAttribute(Qt::WA_DeleteOnClose);qDebug() << "非模态对话框弹出了";});}MainWindow::~MainWindow(){delete ui;}
3.标准对话框
所谓标准对话框,是 Qt 内置的一系列对话框,用于简化开发。事实上,有很多对话框都是通用的,比如打开文件、设置颜色、打印设置等。这些对话框在所有程序中几乎相同,因此没有必要在每一个程序中都自己实现这么一个对话框。
Qt 的内置对话框大致分为以下几类:
- QColorDialog: 选择颜色;
- QFileDialog: 选择文件或者目录;
- QFontDialog: 选择字体;
- QInputDialog: 允许用户输入一个值,并将其值返回;
- QMessageBox: 模态对话框,用于显示信息、询问问题等;
- QPageSetupDialog: 为打印机提供纸张相关的选项;
- QPrintDialog: 打印机配置;
- QPrintPreviewDialog: 打印预览;
- QProgressDialog: 显示操作过程
3.1 QMessage对话框
错误、信息、提问、警告
参数1:父亲
参数2:标题
参数3:提示内容
参数4:按键类型
参数5:默认关联回车按键
利用返回值判断用户的输入
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui->setupUi(this);//消息对话框//错误对话框// QMessageBox::critical(this, "critical", "错误");//信息对话框// QMessageBox::information(this, "info", "信息");//提问对话框//参数1 父亲 参数2 标题 参数3 提示内容 参数4 按键类型 参数5 默认关联回车// if(QMessageBox::Save == QMessageBox::question(this, "ques", "提问", QMessageBox::Save | QMessageBox::Cancel, QMessageBox::Cancel))// {// qDebug() << "选择保存";// }else{// qDebug() << "选择取消";// }//警告对话框QMessageBox::warning(this, "warning", "警告");});}MainWindow::~MainWindow(){delete ui;}
3.2 QColor 对话框

QColor color = QColorDialog::getColor(QColor(255, 0 ,0));qDebug() << "r = " << color.red() << "g = " << color.green() << "b = " <<color.blue();
3.3 QFile

//参数1 父亲 参数2 标题 参数3 默认打开路径 参数4 过滤文件格式//返回值是 QSting 选取的路径QFileDialog::getOpenFileName(this, "打开文件", "/home","(*.vim)");
3.4 QFont

bool flag;QFont font = QFontDialog::getFont(&flag);qDebug() << "字体:" << font.family().toUtf8().data() << "字号:" << font.pointSize() << "是否加粗" << font.bold() << "是否倾斜" << font.italic();
