我的应用程序显示图像网格。单击鼠标右键时,将显示上下文菜单,其中第一个选项为“在资源管理器中显示”。
我可以使用以下命令在目录上启动默认资源管理器:
QDesktopServices::openUrl(QUrl::fromLocalFile( directory ));
但是我也想要选择文件。
这可能吗?我认为它应该是,因为许多应用程序可以做到这一点。
答案 0 :(得分:1)
openUrl
不适用于此处。您需要使用Windows资源管理器特殊参数启动另一个进程(使用QProcess
start
或startDetached
):
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。