当前位置: 首页 > 网络知识

Qt getOpenFileName、getSaveFileName、getOpenFileNames

时间:2026-01-29 09:27:09

1.头文件

#include<QFileDialog>

2.用处
  这几个函数都是QFileDialog这个类中的静态函数,可以调用当前系统的文件对话框。具体来讲:

  getOpenFileName返回一个被用户选中的文件的路径,前提是这个文件是存在的。

  getSaveFileName返回一个被用户选中的文件的路径,这个文件可以是不存在的。

  getOpenFileNames返回一个或多个被用户选中的文件的路径,前提是这些文件是存在的。

3.函数参数和返回值

  这几个函数的函数参数都是一样的,只有一点需要注意getOpenFileNames返回的是QStringList,而getOpenFileName和getSaveFileName返回的是QString。下面以getOpenFileName为例说明。

1 QString getOpenFileName(QWidget *parent = Q_NULLPTR, 2               const QString &caption = QString(), 3               const QString &dir = QString(), 4               const QString &filter = QString(), 5               QString *selectedFilter = Q_NULLPTR, 6               Options options = Options())

  第一个参数parent,用于指定父组件。注意,很多Qt组件的构造函数都会有这么一个parent参数,并提供一个默认值0;

  第二个参数caption,是对话框的标题;

  第三个参数dir,是对话框显示时默认打开的目录,"." 代表程序运行目录,"/" 代表当前盘符的根目录(Windows,Linux下/就是根目录了),也可以是平台相关的,比如"C:\\"等;

  第四个参数filter,是对话框的后缀名过滤器;

    多个文件使用空格分隔:比如我们使用"Image Files(*.jpg *.png)"就让它只能显示后缀名是jpg或者png的文件。

    多个过滤使用两个分号分隔:如果需要使用多个过滤器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)";

  第五个参数selectedFilter,是默认选择的过滤器;

  第六个参数options,是对话框的一些参数设定,比如只显示文件夹等等,它的取值是enum QFileDialog::Option,每个选项可以使用 | 运算组合起来。

4.简单用法

1 #include "mainwindoh" 2 #include "ui_mainwindoh" 3 #include<QFileDialog> 4 MainWindow::MainWindow(QWidget *parent) : 5 QMainWindow(parent), 6 ui(new Ui::MainWindow) 7 10 11 MainWindow::~MainWindow() 12 15 16 void MainWindow::on_openButton_clicked() 17 22 23 void MainWindow::on_saveButton_clicked() 24 29 30 void MainWindow::on_openButton2_clicked() 31 39 40 }

step1.打开文件

step2.得到打开文件的路径



上一篇:Qt 如何遍历序列容器(QVector|QMap|...)
下一篇:Qt 等待提示框(QTimer)
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素