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