资源文件
将图片文件 拷贝到项目位置下
右键项目->添加新文件 –> Qt - > Qt recourse File - >给资源文件起名
res 生成 res.qrc
open in editor 编辑资源
添加前缀 添加文件
使用 “ : + 前缀名 + 文件名 ”
通过ui使用资源文件
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//ui可以找到界面上自己布局的任务控件
//使用添加Qt资源 ": + 前缀名 + 文件名 "
ui->actionNew->setIcon(QIcon(":/Image/Luffy.png"));
ui->actionOpen->setIcon(QIcon(":/Image/LuffyQ.png"));
}
对话框
QAction类
在应用程序中,许多常见命令可以通过菜单、工具栏按钮和键盘快捷键调用。由于用户希望每个命令都以相同的方式执行,无论使用何种用户界面,因此将每个命令表示为一个操作是很有用的。
操作可以添加到菜单和工具栏中,并将自动保持它们的同步。例如,在文字处理器中,如果用户按下粗体工具栏按钮,则会自动选中粗体菜单项
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//点击新建按钮 弹出一个对话框
connect(ui->actionNew,&QAction::triggered,[=](){
//对话框 分类
//模态对话框 (不可以对其他窗口进行操作) 非模态对话框 (可以对其他窗口进行操作)
//模态创建 阻塞
// QDialog dlg(this);
// dlg.resize(200,100);
// dlg.exec();
// qDebug() << "模态对话框弹出了";
//非模态对话框
// QDialog * dlg2 = new QDialog (this);
// dlg2->resize(200,100);
// dlg2->show();
// dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号 属性
// qDebug() << "非模态对话框弹出了";
//消息对话框
//错误对话框
//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","警告");
//其他标准对话框
//颜色对话框
// QColor color = QColorDialog::getColor(QColor(255,0,0));
// qDebug() << "r = " << color.red() << " g = " << color.green() << " b = " << color.blue() ;
//文件对话框 参数 1 父亲 参数2 标题 参数3 默认打开路径 参数4 过滤文件格式
//返回值是 选取的路径
// QString str = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhangtao\\Desktop","(*.txt)");
// qDebug() << str;
//字体对话框
bool flag;
QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
qDebug() << "字体:" << font.family().toUtf8().data() << " 字号 "<< font.pointSize() << " 是否加粗"<< font.bold() << " 是否倾斜"<<font.italic();
});
}