catalog
- Base
- getOpenFileName
- getSaveFileName
Base
QFileDialog,他不做“建立、打開、儲存” 檔案的工作!!! 他隻是,傳回一個 QString字元串 而已!!
getOpenFileName
這個函數打開的,必須是“存在的”
QString fileName = QFileDialog::getOpenFileName(this,
QString("對話框名稱"),
QString("E:\work"), // 預設打開的目錄
QString("所有檔案(*) ;; 表格(*.xls *.xlsx)");
if(fileName.isEmpty()){ // 點選了 “取消”
...
}

getSaveFileName
比如說,我們要“新建立一個檔案”,即 你不能選擇一個 已經存在的 檔案!!!
1,如果你選擇了一個 已存在的,他會報錯 “是否你要替換他”?
2,他正确的使用是: 不要選擇檔案,而是選擇好某個目錄
、、然後在下面的輸入框,輸入你要建立的 “檔案名”!!
DE << QFileDialog::getSaveFileName(this, "标題", "G:/Test_space", "文本(*.txt)");
如果你選擇的是:“目錄”, 則他會打開這個目錄,然後“輸入框” 是空的
、、你輸入123 或 123.txt 都可以(前提是,G:/Test_space/裡,原本沒有這個檔案)
、、然後,他并建立檔案,隻是傳回了一個字元串: G:/Test_space/123.txt
DE << QFileDialog::getSaveFileName(this, "标題", "G:/Test_space/123.txt", "文本(*.txt)");
如果你選擇的是:“檔案名“, (不管這個檔案名,是否已經存在)
、、他會把這個檔案名,自動輸入到 “文本框”裡。 等你點選儲存時,再檢查合法性