【问题标题】:QFileDialog not resolving symlinksQFileDialog 不解析符号链接
【发布时间】:2020-07-15 15:25:44
【问题描述】:
opt = QFileDialog()
folder = QFileDialog.getExistingDirectory(self, "choose folder", path, options=opt.ShowDirsOnly)

这是我在文件浏览器中选择文件夹的代码。 默认情况下,它应该能够解析符号链接。但我没有看到这种行为。

我选择的文件夹是 /home/user/abc,它是 /home/user/xyz 的符号链接。

>> print(f'Folder is: {folder}')
Folder is: /home/user/abc
>> print(f'Folder is: {os.path.realpath(folder)}')
Folder is: /home/user/xyz

是否可以在不使用 os.path.realpath() 的情况下从 getExistingDirectory() 方法获取实际路径(/home/user/xyz)?

【问题讨论】:

    标签: python pyqt pyqt5 qfiledialog


    【解决方案1】:

    这在 Linux 中是不可能的,在 windows 中,符号链接已被解析。

    QFileDialog 使用 QFileSystemModel 作为 QTreeView 模型,并默认启用完成该工作的 resolveSymlinks 属性,但正如 the docs 指出的那样:

    resolveSymlinks : bool

    该属性保存目录模型是否 应该解析符号链接

    这仅适用于 Windows

    默认情况下,该属性为真。

    访问功能:

    bool resolveSymlinks() 常量
    void setResolveSymlinks(bool enable)

    (强调我的)

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-06
      相关资源
      最近更新 更多