【问题标题】:Does Qt support 'Open a folder and highlight a particular file'? [duplicate]Qt 是否支持“打开文件夹并突出显示特定文件”? [复制]
【发布时间】:2016-10-14 19:09:22
【问题描述】:

Qt 是否提供“打开文件夹并突出显示特定文件”的方法?我找到了解决方案Open a folder and highlight a particular file with WPF,但它仅适用于 Windows。 Qt 是否提供了通用的解决方案?

进行文件搜索后,我想在QTextBrowser 中显示文件位置超链接。让用户单击链接以在文件管理器中找到文件(而不是打开它们)。我不确定这个功能是否也适用于 iOS 或 Linux。

【问题讨论】:

  • 不,Qt 没有,因为它是特定于平台的功能。您需要使用 WinAPI。顺便说一句,对于某些东西有特殊的类:doc.qt.io/qt-5/qtwinextras-module.html
  • Minion,你能澄清一下你的意思吗?您的问题听起来需要一个文件选择对话框,但其他人对此提出了质疑。
  • 我说的是Windows中的常用功能,例如“定位文件”、“在这里探索”。我已经在我的问题中澄清了这一点。
  • iOS或Linux没有这个功能?有人知道吗?

标签: qt pyqt qt4 pyqt4 pyqt5


【解决方案1】:

没有。您尝试做的是特定于平台的(即指示本机文件浏览器打开并执行某些特定操作),因此不受支持。

Qt 确实具有特定于平台的功能,但它们主要侧重于启用特定于平台的交互(例如获取本机 OS X 菜单句柄)而不是集成平台- 特定的行为。是的,几乎所有平台都有某种形式的文件浏览器,但它们也有许多其他地方没有的 API、怪癖和功能。 Qt 尽最大努力平衡功能丰富而又不与平台绑定得太紧。

您最接近的是QDesktopServices::openUrl,但这只是打开目录。查看 QProcess::execute 以调用本机文件浏览器以及命令行参数。

【讨论】:

    【解决方案2】:

    是的,有。 QFileDialog 是您正在寻找的课程。

    在 python 中它可能看起来像这样:

    QFileDialog.getSaveFileName(self, "Choose a path and filename", os.getcwd().replace("\\", "/") +
                                      "/data/highlighted_file.txt", filter="Text Files (*.txt)")
    

    os.getcwd().replace("\\", "/") 部分仅选择您当前的文件夹并将反斜杠替换为正斜杠。

    编辑:似乎我误解了您最初的问题。 @Jon Harper 的另一个答案可能就是您正在寻找的。​​p>

    【讨论】:

    • QDir::toNativeSeparators / QDir::fromNativeSeparators
    • 带有 qtreeview 的 Qfilsytemmodel
    猜你喜欢
    • 2011-01-11
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 2013-05-06
    相关资源
    最近更新 更多