Qt Creater 2
添加资源文件
将图片资源拷贝到项目位置下->右键项目->添加新文件->Qt resource file->添加前缀->添加文件
使用: “: 前缀 文件名”
对话框
- QColorDialog() 选择颜色
- QFileDialog() 选择文件或目录
- QFontDialog() 选择字体
- QInputDialog() 允许用户输入一个值,并将其返回
- QMessageBox() 消息对话框
- QPageSetupDialog()
- QPrintDialog()
- QPrintPreviewDialog()
- QProgressDialog()
模态、非模态对话框
- 模态对话框:阻塞程序
- 非模态:不阻塞
connect(ui->actionNew, &QAction::triggered, [=] () {
//模态窗口
// QDialog dlg(this);
// dlg.resize(300,200);
// dlg.exec();//非模态窗口QDialog* dlg2 = new QDialog(this);dlg2->resize(300,200);dlg2->show();dlg2->setAttribute(Qt::WA_DeleteOnClose); //释放内存} );
}
- 非模态窗口:由于lambda表达式创建的是匿名对象,用完自动释放,因此需要将其创建在堆区,并使用->访问。
- 非模态窗口: 由于创建在堆区,需要关闭时手动释放内存
消息对话框
//错误对话框
QMessageBox::critical(this,"crtical", "错误");
//信息对话框
QMessageBox::information(this,"info","信息");
//提问对话框
QMessageBox::question(this,"ques","提问",QMessageBox::Save | QMessageBox::Cancel, QMessageBox::Cancel);
- 提问对话框,前三个参数不用多说
- 第四个参数:弹出的选择项,按键类型
- 第五个参数,弹出的选择项中,默认的选择项
- 提问对话框的返回值就是你所选择的按键类型
if(QMessageBox::Save== QMessageBox::question(this,"ques","提问",QMessageBox::Save | QMessageBox::Cancel)){
qDebug()<<"save";}else{
qDebug()<<"cancel";}
颜色对话框
//颜色对话框
QColor color = QColorDialog::getColor(QColor(255,0,0) );
qDebug()<< color.red()<< color.green() << color.blue();
返回值可以用QColor接收
文件对话框
//文件对话框
QString path = QFileDialog::getOpenFileName(this, "打开文件", "C:\\Users\\cui\\Desktop","(*.md)" );
qDebug()<<path;
- 第二个参数:标题
- 第三个参数:默认打开路径
- 返回值是选中的路径
字体对话框
//字体对话框
bool flag;
QFont font = QFontDialog::getFont(&flag,QFont("宋体",12));
qDebug()<<"字体"<<font.family()<<"字号"<<font.pointSize()<<"是否加粗"<<font.bold() <<"是否斜体"<<font.italic();
- 第一个参数bool类型(不知道有什么用)
- 第二个参数QFont(“字体”, 字号)