1. QFileDialog类(标准文件对话框)

  1.1. getOpenFileName():获取用户选择的文件名,当用户选择文件时,若选择"取消",则返回空字符串

  • 参数caption:可设置文件对话框的标题
  • 参数dir:可指定默认目录,若此参数带有文件名,则文件将是默认选中的文件
  • 参数filter:对文件类型进行过滤,只有与过滤器匹配的文件类型才显示,可以同时指定多种过滤方式,多种过滤器之间用";;"隔开
  • 参数selectedFilter:返回用户选择的过滤器
  • 参数options:选择显示文件名的格式,默认是同时显示目录和文件名

  1.2. getSaveFileName():获取用户保存的文件名

  1.3. getExistingDirectory():获取用户选择的已经存在的目录名

  1.4. getOpenFileNames():获取用户选择的文件名列表

2. QColorDialog类(标准颜色对话框)

  2.1. getColor():获取用户选择的颜色值,可通过QColor::isValid()函数判断用户选择的颜色是否有效,当用户选择颜色时,若选择"取消",则QColor::isValid()函数返回false

  • 参数initial:设置默认选中的颜色

3. QFontDialog类(标准字体对话框)

  • getFont():获取用户选择的字体

4. QInputDialog类(标准输入对话框)

  4.1. getText():标准字符串输入对话框

  • 参数title:设置输入对话框的标题
  • 参数label:设置输入对话框的标签提示
  • 参数mode:设置输入对话框中QLineEdit控件的输入模式
  • 参数text:设置输入对话框弹出时QLineEdit控件中默认出现的文字
  • 参数flags:设置输入对话框的窗体标识

  4.2. getItem():标准下拉列表输入框

  • 参数items:设置下拉列表元素为QStringList对象
  • 参数current:设置当前显示的元素索引
  • 参数editable:设置显示的文字是否可编辑

  4.3. getInt():int类型数据输入对话框

  4.4. getDouble():double类型数据输入对话框

5. QMessageBox类(标准消息对话框)

  5.1. QMessageBox::question:Question消息框

  • 参数buttons:设置在消息框中出现的按钮,用"|"连写,默认为QMessageBox::Ok
  • 参数defaultButton:设置消息框出现时,焦点默认处于哪个按钮上

  5.2. QMessageBox::information:Information消息框

  5.3. QMessageBox::warning:Warning消息框

  5.4. QMessageBox::critical:Critical消息框

  5.5. QMessageBox::about:About消息框

  5.6. QMessageBox::aboutQt:AboutQt消息框

  5.7. 自定义消息框

   5.7.1. setWindowTitle():设置消息框的标题

   5.7.2. addButton():定义消息框所需的按钮

  • 可以加一个标准按钮,也可以加一个自定义的按钮(参数包括按钮显示的文字和按钮类型的描述

   5.7.3. setText():设置自定义消息框中显示的提示内容

   5.7.4. setIconPixmap():设置自定义消息框中提示内容前面的图标

6. QPrintDialog类(标准打印对话框)

  6.1. 打印文本

QPrinter printer;  //存储相关打印属性
QPrintDialog printDialog(&printer, this);
if(printDialog.exec())  //判断标准打印对话框显示后用户是否单击"打印"按钮
{
    QTextDocument* doc = textEdit->document();  //获取QTextEdit对象的文档
    doc->print(&printer);
}

  6.2. 打印图像

QPrinter printer;
QPrintDialog printDialog(&printer, this);
if(printDialog.exec())
{
    QPainter painter(&printer);
    QRect rect = painter.viewport();  //获取QPainter对象的视图矩形区域
    QSize imgSize = img.size();  //获取图像的大小
    //按照图形的比例大小重新设置QPainter对象的视图矩形区域
    size.scale(rect.size(), Qt::KeepAspectRatio);
    painter.setViewport(rect.x, rect.y, imgSize.width(), imgSize.height());

    painter.setWindow(img.rect());  //设置QPainter窗口大小为图像的大小
    painter.drawImage(0, 0, img);
}

 

posted on 2022-02-23 10:24  不再低调  阅读(250)  评论(0编辑  收藏  举报