一、创建一个新项目
二、使用Qt的ui界面
三、添加菜单栏、工具栏
四、使用Qt资源
1、右键mainwindow.cpp文件,选择在Explorer中显示
2、 将图片的文件夹放到项目位置下
3、创建Qt资源文件
右键工程文件夹,选择添加新的文件
选择Qt ---->Qt Resource File
给资源文件起名
最后会生成一个res.qrc的文件,就是Qt的资源文件
打开res.qrc文件
4、编辑资源文件
添加前缀,并且添加文件
5、使用的资源的语法
使用 ": + 前缀名 + 文件名"
//使用添加Qt资源 ": + 前缀名 + 文件名"
ui->actionnew->setIcon(QIcon("F:/Image/1.JPG"));
ui->actionopen->setIcon(QIcon("F:/Image/1.JPG"));
效果图:
五、对话框
分类:
- 模态对话框
- 非模态对话框
1、模态对话框
不可以对其他窗口进行操作 阻塞
//模态创建 阻塞功能
QDialog dlg(this);
//设置窗口大小
dlg.resize(200,200);
dlg.exec();
qDebug() << "模态对话框弹出了";
2、非模态对话框
可以对其他窗口进行操作
防止一闪而过,创建堆区
//非模态对话框创建
QDialog * dig2 = new QDialog(this);
//设置窗口大小
dig2->resize(200,200);
dig2->show();
//55号属性 ,防止关闭后没有被删除掉
dig2->setAttribute(Qt::WA_DeleteOnClose,true);
qDebug() << "非模态对话框弹出了";
六、标准对话框 --- 消息对话框
1、QMessgeBox 静态成员函数 创建对话框
2、错误、信息、提问、警告
3、参数
- 参数1:父亲
- 参数2:标题
- 参数3:显示内容
- 参数4:按键类型
- 参数5:默认关联回车的按钮(只有在提问对话框有意义)
4、返回值 也是StandardButton类型,利用返回值判断用户的输入
工程:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QAction>
#include <QDialog>
#include <QDebug>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//点击新建按钮 弹出一个对话框
connect(ui->actionnew,&QAction::triggered,[=](){
//对话框 分类
//1、模态对话框(不可以对其他窗口进行操作) 非模态对话框(可以对其他窗口进行操作)
//模态创建 阻塞功能
// QDialog dlg(this);
// dlg.resize(200,200);
// dlg.exec();
// qDebug() << "模态对话框弹出了";
//非模态对话框创建
// QDialog dig2 (this); //在这个匿名函数中,执行完这个匿名函数后,这个对象没有保存
// dig2.show();//一闪而过
//2、非模态对话框创建
// QDialog * dig2 = new QDialog(this);
// //设置窗口大小
// dig2->resize(200,200);
// dig2->show();
// dig2->setAttribute(Qt::WA_DeleteOnClose);
// qDebug() << "非模态对话框弹出了";
/********标准对话框*********************/
//1、错误对话框(模态对话框)
// QMessageBox::critical(this,"critical","错误");
//2、信息对话框
// QMessageBox::information(this,"info","信息");
//3、问题对话框
//参数1:父亲 参数2:标题名称 参数3:提示内容 参数4:按键的类型 参数5:默认关联回车的按键
// QMessageBox::question(this,"ques","提问",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel);
// if(QMessageBox::Save == QMessageBox::question(this,"ques","提问",QMessageBox::Save|QMessageBox::Cancel,QMessageBox::Cancel))
// {
// qDebug() << "选择的是保存" ;
// }
// else
// {
// qDebug() << "选择的是取消" ;
// }
//4、警告对话框
QMessageBox::warning(this,"wrg","警告");
});
}
MainWindow::~MainWindow()
{
delete ui;
}