QFileDialog 選擇多個檔案
阿新 • • 發佈:2019-01-26
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(); }