2014-04-21 2 views
1

QT 5.2.1
Win7에 내가 파일 이름QFileDialog (QT 5.2.1/mingw32) 나 읽기 전용 파일

을 선택 QFileDialog을 사용하고

64 비트를 선택하도록 허용하지 않습니다

  • 파일을 쓰거나 읽을 지 여부를 알 수 없으므로 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

답변