1. 程式人生 > >QFileDialog 選擇多個檔案

QFileDialog 選擇多個檔案

QFileDialog 提供了非常多的靜態函式,用來開啟一個對話方塊,對話方塊可以用來儲存和選擇檔案,開啟檔案的時候可以選擇多個檔案。我們也可以不使用靜態函式,用QFileDialog 物件來開啟一個對話方塊。

//實列化一個物件

QFileDialog fileDialog(this);

//設定視窗的標題
fileDialog.setWindowTitle(CQTUtil::ToQString(__XT("請選擇音樂檔案")));
fileDialog.setNameFilter("音樂檔案(*.mp3 *.wav)"); //設定一個過濾器


//也可以使用下面程式碼設定多個過濾器
QStringList filters;
filters << "Image files (*.png *.xpm *.jpg)"
<< "Text files (*.txt)"
<< "Any files (*)";
fileDialog.setNameFilters(filters); //這個函式名稱後面多了一個s,表示設定多個過濾器。要看清楚。

 //這個標誌用來設定選擇的型別,比如預設是單個檔案。QFileDialog::ExistingFiles 多個檔案,還可以用來選擇資料夾QFileDialog::Directory。QFileDialog::ExistingFile 單個檔案。注意這個ExistingFile,單詞後面多了一個s 表示選擇多個檔案。要看清楚了。
fileDialog.setFileMode(QFileDialog::ExistingFiles);



//如果是要儲存檔案,那就需要再設定一下

fileDialog.setAcceptMode(QFileDialog::AcceptSave);



//彈出對話方塊
if (fileDialog.exec() == QDialog::Accepted)
{

//strPathList  返回值是一個list,如果是單個檔案選擇的話,只要取出第一個來就行了。
QStringList strPathList = fileDialog.selectedFiles();
}