念頭に置いてシンプルなもののこの部分についてのメモを作ります
標準的なオペレーティングシステムは、通常、ファイルの選択として、一連のダイアログボックスを提供してフォント選択、カラー選択、これらの標準のダイアログボックスには、一貫性のある外観を提供し、アプリケーション層列のために感じます。:これらの標準のダイアログのためのQtは、以下のような関連するクラス、定義QFileDialog、QFontDialog、QColorDialog、QInputDialog、QMessageBox、QPrintDialog、QErrorMessage、QProgressDialogなど
QFileDialog
QFileDialogクラスは、標準のファイルを開くと、ダイアログボックスを保存しています。QFileDialogのクラスが継承するQDialogのクラスを。
ファイルを開くときに使用QFileDialogのテキストフィルタ、表示のための指定されたファイルの拡張子。QFileDialogは、ファイルを開く使用したときにも、開始ディレクトリとファイル指定した拡張子を設定することができます。
QFileDialogは、2つの方法を使用して、一つは「静的関数法」を使用して比較的簡単であり、他は「コンストラクタ法律」のさまざまな詳細をカスタマイズすることです
公式サイトのマニュアル:
QStringのgetExistingDirectory(QWidgetの*親= 0、constの QStringの&キャプション= QStringの()、のconst QStringの&DIR = QStringの()、[オプション]オプション= ShowDirsOnly) QUrl getExistingDirectoryUrl(QWidgetの *親= 0、CONST&キャプション=のQString QStringの()、constの QUrl&DIR = QUrl()、オプションの選択肢= ShowDirsOnly、constの QStringList&supportedSchemes = QStringList()) のQString GetOpenFileName関数(QWidgetの *親= 0、constの QStringの&キャプション= QStringの()、のconst QStringの&DIR = QStringの()、CONSTQStringの&フィルタ= QStringの()、QStringの* selectedFilter = 0、オプションの選択肢= 0 ) QStringList getOpenFileNames(QWidgetの *親= 0、constの QStringの&キャプション= QStringの()、のconst QStringの&DIR = QStringの()、のconst QStringの&フィルター= QStringの()、QStringの* selectedFilter = 0、オプションオプション= 0 ) QUrl getOpenFileUrl(QWidgetの *親= 0、CONST QStringの&キャプション= QStringの()、CONST QUrl&DIR = QUrl()、CONST QStringの&フィルタ= QStringの( )、のQString * selectedFilter = 0オプションオプション= 0、CONST QStringList&supportedSchemes = QStringList()) QListに <QUrl> getOpenFileUrls(QWidgetの*親= 0、CONST QStringの&キャプション= QStringの()、CONST QUrl&DIR = QUrl()、CONST QStringの&フィルタ= QStringの()、QStringの* selectedFilter = 0、オプションの選択肢= 0、constの QStringList&supportedSchemes = QStringList()) のQString getSaveFileName(QWidgetの *親= 0、constの QStringの&キャプション= QStringの()、のconst QStringの&DIR =のQString() 、const QStringの&フィルター= QStringの()、QStringの* selectedFilter = 0、オプションの選択肢= 0 ) QUrl getSaveFileUrl(QWidgetの *親= 0、constの QStringの&キャプション= QStringの()、constの QUrl&DIR = QUrl()、のconst QStringの&フィルタ= QStringの()、QStringの* selectedFilter = 0、オプションオプション= 0、constの QStringList&supportedSchemes = QStringList())
機能:
GetOpenFileName関数
例えば、私はここでGetOpenFileName関数で使用中)(トリガ
#include "mainwindow.h"
の#include "ui_mainwindow.h"
#include <QTextCodec>
の#include <QFileDialog>
の#include <QStringの>
する#include <QDebug>
の#include <QByteArray>
の#include <string.hの>
に#define COUT qDebug()
ボイドメインウィンドウ:: on_actiondakai_2_triggered() { QStringのfileNameに = QFileDialog :: GetOpenFileName関数()。 裁判所未満 << " ===== " << fileNameに<< " ======== " 。 }
getExistingDirectory
ボイドメインウィンドウ:: on_actiondakai_2_triggered() { // QStringのfileNameに= QFileDialog :: GetOpenFileName関数()。 QStringのfileNameに= QFileDialog :: getExistingDirectory(NULL、" キャプション"、" " )。 裁判所未満 << " ===== " << fileNameに<< " ======== " 。 }
他の類似の方法は、もはや説明されていません。
getExistingDirectoryUrl
とgetExistingDirectory同様の機能は、フォルダのパスを取得し、最大の違いは、そのユーザーのリモートディレクトリを選択する機能を提供し、パスQUrlの種類、内のパラメータ。
getOpenFileUrl
リモートファイルを取得する
リモートファイルのパスを取得する機能をユーザーに提供します
getOpenFileUrls
リモートファイルを複数取得することは、
複数のリモートファイルのパスを指定できます
getOpenFileNames
より多くのローカルファイルを取得します
getSaveFileName
ローカルファイルダイアログを保存
getSaveFileUrl
リモートファイル]ダイアログボックスを保存
静的な機能に加えて、ファイルの詳細情報を開くために、カスタムコンストラクタを容易にすることができます
QFileDialogオブジェクトを構築します:
QFileDialog fdが。
ファイルダイアログAcceptModeを開くか、保存するように設定されています
fd.setAcceptMode(QFileDialog :: AcceptOpen); // ファイルの選択]ダイアログボックスオープンタイプ fd.setAcceptMode(QFileDialog :: AcceptSaveは); // 型として保存するためのダイアログボックスファイル
詳細設定]ダイアログボックスのレベルが表示されます
fd.setViewMode(QFileDialog ::詳細); // 詳細 fd.setViewMode(QFileDialog ::リスト); // リストのみ
[設定]ダイアログボックスに戻ります
fd.setFileMode(QFileDialog :: anyfileの); // ファイル名にかかわらず、そこかどうかの fd.setFileMode(QFileDialog :: ExistingFile); // 存在し、単一のファイル名 fd.setFileMode(QFileDialog ::ディレクトリ); // フォルダ名前 fd.setFileMode(QFileDialog :: ExistingFilesを); // 複数ファイル
設定されたタイトル
fd.setWindowTitle(" タイトル");
デフォルトの接尾辞を設定します
fd.setDefaultSuffix(" TXT ");
ディレクトリアドレスダイアログを取得します。
QDirあなたがfd.directory =(); qDebug()<<ます。
ファイルアイコンのプロバイダを返します
QFileIconProvider * QFileDialog :: iconProvider()constの
履歴ディレクトリを設定setHistory
dirlistにQStringList; dirlistに << " C:\\インテル" ; // 追加パス fileDlg - > setHistory(dirlistに);