2014-09-27 4 views
0

Qt 라이브러리를 처음 접했고 QFileDialog가 올바르게 작동하는 데 어려움을 겪고 있습니다. 나는 사용자가 디렉토리를 선택할 수 있기를 원하지만 파일과 폴더를 볼 수있어서 그들이 선택할 디렉토리를 알 수 있기를 바랍니다. 나는 다른 곳에 게시되는 것과 비슷한 것을 보았지만, 시도한 모든 것은 출력에 아무런 차이를 만들지 못했다.QFileDialog 디렉토리 선택시 파일 및 폴더보기

난 내 자신의 대화 상자를 생성하고 파일과 폴더를 모두 표시해야한다고 말한다 디렉토리의 모드 설정을 시도했습니다

:뿐만 아니라 getExistingDirectory 사용

QFileDialog myDialog(this); 
    myFileExplorer.setFileMode(QFileDialog::Directory); 
    myFileExplorer.setDirectory("C:/"); 
    QString file = myFileExplorer.exec(); 

을 그리고 난 시도했다, 그러나 그와 기능은 항상 디렉토리 만 보여줍니다. 감사

+0

마지막 입력 인수를 getExistingDirectory에 0으로 전달하려고 시도 했습니까? –

+0

OS X에서는 파일을 표시하지만 Windows에서는 파일을 표시하지 않습니다. Qt 버그입니다. 어쩌면 Win API에서 필요한 대화 상자를 직접 호출 할 수 있는지 확인해야합니다. 또는 파일 찾아보기/직접 선택을 구현해야합니다. –

답변

2
QString getExistingDirectory (QWidget * parent = 0, const QString & caption = QString(), 
const QString & dir = QString(), Options options = ShowDirsOnly) 

기본 옵션 매개 변수 만 DIRS를 표시하도록 설정되어, 당신은

QFileDialog::DontUseNativeDialog 

로 변경해야하지만 불행히도 당신은 기본 대화 상자를 사용할 수 없습니다.

+0

흥미 롭다면, Win API가 그런 종류의 옵션을 지원하지 않거나, 네이티브 대화 상자가있는 Qt 버그입니다. –

+1

C#에서는 commonOpenFileDialog라고하며이 옵션도 지원하지 않는 것 같습니다. 질문이 얼마 전에 stackoverflow에 질문했다 - http://stackoverflow.com/questions/8142109/how-can-i-make-commonopenfiledialog-select-folders-only-but-still-show-files - 그래서 나는 믿는다. 그것은 Qt 버그가 아닙니다. –

+0

감사합니다. 감사합니다! 궁극적으로 Win API는 그런 종류의 기능을 지원하지 않으므로 우리는 넌 - 네이티브 대화 상자를 사용하여 붙어 있습니다. –