zoukankan      html  css  js  c++  java
  • Qt之getOpenFileName,getSaveFileName,getOpenFileNames

    1.头文件

      #include<QFileDialog>

    2.用处

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

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

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

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

    3.函数参数和返回值

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

    QString getOpenFileName(QWidget *parent = Q_NULLPTR, 
                  const QString &caption = QString(),
                  const QString &dir = QString(),
                  const QString &filter = QString(),
                  QString *selectedFilter = Q_NULLPTR,
                  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.得到打开文件的路径

  • 相关阅读:
    【CodeForces】889 C. Maximum Element 排列组合+动态规划
    【CodeForces】889 B. Restoration of string
    使用torchsummary打印torch模型结构,包括每层名字以及形状
    任意角度的场景文本检测论文简单总结
    vi快捷键
    sklearn框架使用例子,多种分类方法的集合,方便模型的融合
    卷积核的参数量和计算量
    windows下shell命令行的常用操作命令
    MARKDOWM书写规范
    keras使用horovod多gpu训练
  • 原文地址:https://www.cnblogs.com/LifeoFHanLiu/p/9978425.html
Copyright © 2011-2022 走看看