You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过QtWidgets.QFileDialog实现用户目录选择功能?

Qt 实现目录选择功能

Qt 提供了专门用于选择目录的方法 QtWidgets.QFileDialog.getExistingDirectory(),完全能满足你的需求,直接替代当前使用的 getOpenFileName() 即可。

示例代码

把你原来的文件选择代码替换成下面的目录选择逻辑:

selected_dir = QtWidgets.QFileDialog.getExistingDirectory(
    None, "Select Target Directory", "", 
    QtWidgets.QFileDialog.ShowDirsOnly | QtWidgets.QFileDialog.DontResolveSymlinks
)
if selected_dir == '':
    msgBox = QtWidgets.QMessageBox()
    msgBox.setText("No directory selected")
    msgBox.setStandardButtons(QtWidgets.QMessageBox.Ok)
    msgBox.setIcon(QtWidgets.QMessageBox.Warning)
    msgBox.exec_()
else:
    # 此处可将选中的目录路径暂存,供后续生成文件使用
    print(f"Selected directory: {selected_dir}")

参数说明

  • ShowDirsOnly:强制对话框仅显示目录,不展示文件
  • DontResolveSymlinks:不解析符号链接(可选参数,可根据需求调整)
  • 第三个参数为对话框初始打开的目录,留空则默认打开用户主目录

该方法返回用户选中的目录路径,取消选择时返回空字符串,逻辑和你原有文件选择代码完全兼容,直接替换即可使用。

内容的提问来源于stack exchange,提问作者WillH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 13:42:05