python选择文件夹或文件_允许用户在QFileDialog中选择文件或文件夹

据我所知,您需要编写自己的QFileDialog并设置适当的mode。我相信这应该是QFileDialog.ExistingFile & QFileDialog.Directory。在

您可以尝试基于GETExISITIN目录(从C++存储库)编写自己的静态方法: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();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值