天天看點

QFileDialog、檔案對話框BasegetOpenFileNamegetSaveFileName

catalog

  • Base
  • getOpenFileName
  • getSaveFileName

Base

QFileDialog,他不做“建立、打開、儲存” 檔案的工作!!! 他隻是,傳回一個 QString字元串 而已!!

getOpenFileName

這個函數打開的,必須是“存在的”

QString fileName = QFileDialog::getOpenFileName(this,
	QString("對話框名稱"), 
	QString("E:\work"),  // 預設打開的目錄
	QString("所有檔案(*) ;; 表格(*.xls *.xlsx)");
	
if(fileName.isEmpty()){ // 點選了 “取消”
	... 
}
           
QFileDialog、檔案對話框BasegetOpenFileNamegetSaveFileName
QFileDialog、檔案對話框BasegetOpenFileNamegetSaveFileName

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)");

如果你選擇的是:“檔案名“, (不管這個檔案名,是否已經存在)

、、他會把這個檔案名,自動輸入到 “文本框”裡。 等你點選儲存時,再檢查合法性