내가 기억하는 바로는 당신 자신의 QFileDialog를 작성하고 mode을 올바르게 설정해야합니다. 나는 이것이 QFileDialog.ExistingFile & QFileDialog.Directory
이어야한다고 생각합니다.
당신은 (저장소 ++ C에서)을 getExisitingDirectory에 자신의 정적 메소드 내놓고를 작성하려고 할 수 있습니다
QString QFileDialog::getExistingDirectory(QWidget *parent,
const QString &caption,
const QString &dir,
Options options)
{
if (qt_filedialog_existing_directory_hook && !(options & DontUseNativeDialog))
return qt_filedialog_existing_directory_hook(parent, caption, dir, options);
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
args.directory = QFileDialogPrivate::workingDirectory(dir);
args.mode = (options & ShowDirsOnly ? DirectoryOnly : Directory);
args.options = options;
#if defined(Q_WS_WIN)
if (qt_use_native_dialogs && !(args.options & DontUseNativeDialog) && (options & ShowDirsOnly)
#if defined(Q_WS_WINCE)
&& qt_priv_ptr_valid
#endif
) {
return qt_win_get_existing_directory(args);
}
#endif
// create a qt dialog
QFileDialog dialog(args);
if (dialog.exec() == QDialog::Accepted) {
return dialog.selectedFiles().value(0);
}
return QString();
}
나는이 올바른 생각하지 않는다 - QFileDialog 여러 파일 모드를 허용하지 않습니다. (열거 형 값은 2의 거듭 제곱이 아니기 때문에 알 수 있습니다) – Luke