爲了說明QFileDialog::getOpenFileName()函數的用法,首先要清楚函數的完整定義:
第一個參數parent,用於指定父組件。注意,很多Qt組件的構造函數都會有這麼一個parent參數,並提供一個默認值NULL;
第二個參數caption,是對話框的標題;
第三個參數dir,是對話框顯示時默認打開的目錄,"."
代表程序運行目錄,"/" 代表當前盤符的根目錄(Windows,Linux下/就是根目錄了),也可以是平臺相關的,比如"C:\\"等;例如我想打開程序運行目錄下的Data文件夾作爲默認打開路徑,這裏應該寫成"./Data/",若想有一個默認選中的文件,則在目錄後添加文件名即可:"./Data/teaser.graph"
第四個參數filter,是對話框的後綴名過濾器,比如我們使用"Image
Files(*.jpg *.png)"就讓它只能顯示後綴名是jpg或者png的文件。如果需要使用多個過濾器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)";
第五個參數selectedFilter,是默認選擇的過濾器;
第六個參數options,是對話框的一些參數設定,比如只顯示文件夾等等,它的取值是enum
QFileDialog::Option,每個選項可以使用 | 運算組合起來。
如果需要選擇多個文件,Qt提供了getOpenFileNames()函數,其返回值是一個QStringList。QStringList是存放QString的一個容器,存儲多個文件路徑。