Qt是否支持“打开文件夹并突出显示特定文件”?

时间:2016-06-14 07:19:58

标签: qt pyqt qt4 pyqt4 pyqt5

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

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

2 个答案:

答案 0 :(得分:3)

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

Qt确实具有特定于平台的功能,但它们主要关注启用特定于平台的交互(如获取本机OS X菜单句柄)而不是集成平台特定的行为。是的,几乎所有平台都有某种形式的文件浏览器,但它们也有很多API,怪癖和其他地方无法提供的功能。 Qt尽力平衡功能丰富,而不会过于严格地绑定平台。

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

答案 1 :(得分:0)

是的,有。 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的另一个答案可能就是你要找的。