我想用qt編程一個瀏覽按鈕,打開一個標準的查找文件對話框。如果用戶在對話框中輸入新文件名,我想創建該文件。如果文件存在,我想打開它。QFileDialog:使用getOpenFileName允許不存在的文件
我有一個函數,給定一個字符串將做出該決定。但是,如果文件不存在,QFileDialog::getOpenFileName
會向用戶顯示錯誤,並且QFileDialog::getSaveFileName
要求用戶確認是否覆蓋該文件(如果該文件存在的話,我不會這樣做,因此不應顯示)。
是否有一個qt標準可以滿足我的需求,而不需要創建一個自定義類從QFileDialog
繼承或訴諸另一個類似毛茸茸的情況?
這裏是我當前工作的代碼,以意外的行爲......
void Login::browseFile() {
QString file = ui->txtFile->text();
if (file.isEmpty()) { file = QDir::homePath(); }
file = QFileDialog::getOpenFileName(this,
tr("Select Monage Database"), file,
tr("Database Files (*.db)"));
if (!file.isEmpty()) { OpenDb(file); }
}