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.得到打開文件的路徑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM