当前位置: 代码迷 >> 综合 >> Qt Creater 2
  详细解决方案

Qt Creater 2

热度:76   发布时间:2024-03-09 23:04:47.0

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(“字体”, 字号)