2014-04-21 57 views
1

QT 5.2.1
的Win7 64位QFileDialog(QT 5.2.1/mingw32的)不會讓我選擇一個只讀文件

我使用QFileDialog選擇一個文件名

  • 在選擇是否寫入或讀取文件時,它是未知的,所以QFileDialog :: getOpenFilename()和QFileDIalog :: getSaveFilename()不適用於此。

出於某種原因,我無法選擇標記爲「只讀」的文件。

如果我通過了「DontUseNativeDialog」選項,然後我可以選擇只讀文件。但是,這並不理想。 AFAICT,我沒有理由不能用本地對話框選擇一個只讀文件。這只是Windows實現中的一個錯誤,或者我錯過了什麼?創建對話框

相關代碼:

// create a generic FileDialog 
QFileDialog dialog(NULL, tr("Select a disk image")); 
dialog.setNameFilter(tr("Image Files (*.img *.IMG);;*.*")); 
dialog.setFileMode(QFileDialog::AnyFile); // should be default 
dialog.setViewMode(QFileDialog::Detail); // should be default 
dialog.setAcceptMode(QFileDialog::AcceptOpen); // should be default 
dialog.setOption(QFileDialog::DontConfirmOverwrite, true); 

QString fileLocation = NULL; 
if (dialog.exec()) 
{ 
    // selectedFiles returns a QStringList - only expecting 1 filename, 
    //  so use the zero'th element from that list 
    fileLocation = (dialog.selectedFiles())[0]; 
} 

完整的測試項目粘貼在這裏:
http://pastebin.com/TuM4AY4x

回答

相關問題