天天看點

QFileDialog檔案對話框

QFileDialog能周遊整個檔案系統來選擇一個或者多個檔案或者目錄

函數原型(F1或者Fn+F1檢視幫助文檔,有更詳細的解釋)
QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, 
                                  const QString &caption = QString(),
                                  const QString &dir = QString(), 
                                  const QString &filter = QString(), 
                                  QString *selectedFilter = nullptr,
                                  QFileDialog::Options options = Options());
QStringList QFileDialog::getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options());
QString QFileDialog::getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options());
//選擇已經有的目錄
QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                 "/home",
                                  QFileDialog::ShowDirsOnly
                                  | QFileDialog::DontResolveSymlinks);
void QFileDialog::setDirectory(const QString &directory);
//可選擇遠端網路檔案
QUrl QFileDialog::getSaveFileUrl(QWidget *parent = nullptr,
                                const QString &caption = QString(),
                                const QUrl &dir = QUrl(), 
                                const QString &filter = QString(),
                                QString *selectedFilter = nullptr,
                                QFileDialog::Options options = Options(),
                                const QStringList &supportedSchemes = QStringList());
      
#include <QFileDialog>
#include <QString>
QString path1 = QFileDialog::getOpenFileName(this, "open file","/", "TXT文本檔案 (*.txt);;(*.*) ");
if (path1.isEmpty())
  return;
QString path2=QFileDialog::getSaveFileName(this, "save file path", "../", "blk文本檔案 (*.blk);; 所有檔案 (*.*)");
if (path2.isEmpty())
  return;
      

要想使用多個過濾器的,用兩個分号隔開

繼續閱讀