【问题标题】:QFileDialog doesn't work with tags in OSX and Qt 5.7QFileDialog 不适用于 OSX 和 Qt 5.7 中的标签
【发布时间】:2017-02-05 05:44:19
【问题描述】:

我需要fileDialog 才能正常使用标签。在 OSX 上,当我尝试单击标记时 - 此代码会从文件对话框中删除所有文件,因此我无法选择它们。

看起来我找到了解决方案Option::DontResolveSymlinks,但它也不起作用。

更新:如果过滤器是"Any (\*.\*)",它会显示文件夹,在其他情况下则不会。就像它禁用要选择的文件一样 - 我已经想出了解决方法,但希望有一个解决方案。

QStringList filenames = QFileDialog::getOpenFileNames(nullptr, 
                                                      caption,
                                                      lastDirPath,
                                                      filter,
                                                      nullptr,
                                                      QFileDialog::Option::DontResolveSymlinks);

更新:添加了描述什么是“标签”的屏幕

【问题讨论】:

  • 为什么不使用过滤器"Any (*)""Any(*.*)"
  • @rubenvb 实际上不知道。只是像其他过滤器 *.jpg 等一样自动编写它。但它仍然没有改变,因为基本情况正在使用其他过滤器,而不仅仅是 Any。
  • 只是出于好奇,这里的“标签”是什么意思?
  • 您能否准确地告诉使用您要达到的目标?就目前而言,我无法从你的问题中得出正面或反面。请附上您想要实现的目标、获得的结果以及用于获得错误结果的准确和完整的测试用例的屏幕截图。
  • 我知道标签是什么。我仍然不知道什么对你不起作用。准确地说:展示你的期望,你得到什么,你使用了什么代码,为什么你认为它应该以不同的方式工作,等等。我们无法读懂你的想法。

标签: macos qt symlink qfiledialog


【解决方案1】:

根据之前的回答,我找到了解决 mac 文件打开挂起的问题。

QStringList filenames = QFileDialog::getOpenFileNames(nullptr, 
                                                      caption,
                                                      lastDirPath,
                                                      filter,
                                                      nullptr,
                                                      QFileDialog::Option::DontUseNativeDialog)

没有使用 mac 文件对话框,它看起来更像 UNIX,但现在可以使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 2017-08-20
    • 2020-08-17
    相关资源
    最近更新 更多