QT:在选择文件的目录上启动默认exporer

时间:2015-07-25 16:20:27

标签: c++ qt

我的应用程序显示图像网格。单击鼠标右键时,将显示上下文菜单,其中第一个选项为“在资源管理器中显示”。

我可以使用以下命令在目录上启动默认资源管理器:

QDesktopServices::openUrl(QUrl::fromLocalFile( directory ));

但是我也想要选择文件。

这可能吗?我认为它应该是,因为许多应用程序可以做到这一点。

2 个答案:

答案 0 :(得分:1)

openUrl不适用于此处。您需要使用Windows资源管理器特殊参数启动另一个进程(使用QProcess startstartDetached):

explorer.exe /select,"C:\pathTo\file.txt"

答案 1 :(得分:0)

好的,我要感谢@Chernobyl的有用帮助。

但是我发现了一个通用解决方案: How to "Reveal in Finder" or "Show in Explorer" with Qt

首先没有编译,因为QtCreator代码使用的是一个名为Environment的类,我试图将其添加到我的项目中,但该文件还包括其他等等。我检查过,他们正在使用它只是为了查看是否有资源管理器.exe可以在系统路径上找到。它对我来说并不那么重要,所以我删除了那张支票,然后我对它进行了测试。它工作得很好。它也适用于Mac和Linux。