Qt 支持 'Open a folder and highlight a particular file' 吗?

Does Qt support 'Open a folder and highlight a particular file'?

Qt有提供'Open a folder and highlight a particular file'的方法吗?我找到了一个解决方案 Open a folder and highlight a particular file with WPF,但它仅适用于 Windows。 Qt 是否提供通用解决方案?

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

是的,有。 QFileDialog 就是您要找的class。

在 python 中可能如下所示:

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

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

编辑:我好像误解了你最初的问题。 的另一个答案可能就是您要找的。

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

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

最接近的是 QDesktopServices::openUrl, but that just opens the directory. Check out QProcess::execute 调用本机文件浏览器以及命令行参数。