一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

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 "mainwindow.h"
 2   #include "ui_mainwindow.h"
 3   #include<QFileDialog>
 4   MainWindow::MainWindow(QWidget *parent) :
 5       QMainWindow(parent),
 6       ui(new Ui::MainWindow)
 7   {
 8       ui->setupUi(this);
 9   }
10  
11  MainWindow::~MainWindow()
12  {
13      delete ui;
14  }
15  
16  void MainWindow::on_openButton_clicked()
17  {
18  
19      QString filename=QFileDialog::getOpenFileName(this, "打开文件", "默认文件名");
20      ui->openEdit->setText(filename);
21  }
22  
23  void MainWindow::on_saveButton_clicked()
24  {
25      QString filename1=QFileDialog::getSaveFileName(this, "选择保存文件路径", "默认文件名");
26      ui->saveEdit->setText(filename1);
27  
28  }
29  
30  void MainWindow::on_openButton2_clicked()
31  {
32  
33      QStringList filenames=QFileDialog::getOpenFileNames(this, "选择保存文件路径", "默认文件名");
34      for(int i=0;i<filenames.size();i++)
35      {
36  
37          ui->openEdits->append(filenames.at(i));
38      }
39  
40 }
复制代码

step1.打开文件

step2.得到打开文件的路径

posted on   一杯清酒邀明月  阅读(946)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2022-04-28 Qt QProgressDialog new完后自动弹出问题
2022-04-28 Qt QDialog模态对话框与非模态对话框 (setModal)
2022-04-28 Qt 创建对话框:调整对话框大小方法
2022-04-28 Qt QProgressDialog进度条对话框设置隐藏取消按钮和禁用右上角“X”关闭按钮、“?”帮助按钮
2022-04-28 Qt QProgressDialog 进度条
2021-04-28 Qt QSS教程 QSpinBox
2021-04-28 Qt QSS教程 QLineEdit
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示