天天看点

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框

作者:小小鸣吖

标准对话框

标准对话框时Qt内置的一系列对话框,用于简化开发,因为在大多程序中,很多对话框是相同的,如打开文件、设置颜色、打印设置等,这些对话框可以通用,因此没必要每一个程序都实现这些对话框。

  • Qt的内置对话框主要有以下几类:
    • QColorDialog: 选择颜色
    • QFileDialog: 选择文件或目录
    • QFontDialog: 选择字体
    • QInputDialog: 允许用户输入一个值,并返回该值
    • QMessageBox: 一个模态对话框,用于显示信息、询问问题等
    • QPageSetupDialog:为打印机提供纸张相关的选项
    • QPrintDialog: 配置打印机
    • QPrintPreviewDialog:打印预览
    • QProgressDialog: 显示操作过程

其中QMessageBox——消息对话框较为常用,以下具体介绍:

  • 首先消息对话框在头文件中:#include <QMessageBox>
  • 用QMessageBox 静态成员函数创建对话框
  • 其中每个成员函数接收5个参数:
  • 参数1:父亲 参数2:标题 参数3:显示内容 参数4:按键类型 参数5:默认关联回车按键
  • 后两个会有默认参数
  • 返回值 是StandardButton类型
    • critical 错误对话框
  • QMessageBox::critical(this,"标题为critical","错误的窗口");
  • 运行结果:

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框
    • information 信息对话框
  • //信息对话框 QMessageBox::information(this,"标题为info","信息的窗口");

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框
    • question 提问对话框
  • //提问对话框 QMessageBox::question(this,"标题为提问","提问的窗口");

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框
    • warning 警告窗口
  • //警告对话框 QMessageBox::warning(this,"标题为warning","警告的窗口");
C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框

PS:利用返回值判断用户点击的是哪个按钮(用户点啥返回啥按钮)

if(QMessageBox::Yes ==  QMessageBox::question(this,"标题为提问","提问的窗口")){
        qDebug()<< " 选择的是Yes ";
    }
    else{
        qDebug()<< " 选择的是No ";
    }           

运行结果:

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框

点击YES后:

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框

其他标准对话框

  • 颜色对话框 QColorDialog::getColor
  • //颜色对话框 QColorDialog::getColor(QColor((255,0,0)));

C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框
  • 文件对话框 QFileDialog::getOpenFileName(父亲,标题,默认路径,过滤文件)
  • 返回值为选取的文件路径
//文件对话框
    QFileDialog::getOpenFileName(this,"标题为打开文件","D:\\QtProject");           
C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框
  • 字体对话框 QFontDialog::getFont(bool *,默认选择的字体)
//字体对话框
    bool flag;
    QFontDialog::getFont(&flag,QFont("华文彩云",36));           
C++桌面应用开发(Qt学习)——对话框(2)常用标准对话框

继续阅读