目录
【windows】Qt打开资源管理器并选中指定文件
----------------------------------------------------
错误:/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Core.so.5: version `Qt_5.15' not found (required by /usr/bin/featherpad)
原因:featherpad 的版本较新,需要调用到 `Qt_5.15'的库。
解决:使用其他编辑器,或较低版本的 featherpad 。
gedit : OK。
麻烦:需要测试。移植到其他电脑上时,又可能会产生这个问题。
==============================
【windows】Qt打开资源管理器并选中指定文件
前言
在实际应用中,可能会有这样的需求,在软件中的文件树可以通过右键菜单打开windows系统的资源管理器,并在窗口中选中指定的文件,原有的做法是直接通过QDesktopServices::openUrl来打开资源管理器,但是并不能实现高亮选中文件。
要实现这个功能其实并不难,需要执行终端命令:explorer /select,xxx,Qt应用可以直接使用QProcess来执行终端命令。
ok,简单封装接口,以备后续所需。
代码
// OK 1
void openExplorerFile(const QString &path)
{
//打开资源管理器并高亮文件
const QString explorer = "explorer";
QStringList param;
if(!QFileInfo(path).isDir()){
param<<QLatin1String("/select,");
}
param<<QDir::toNativeSeparators(path); ///当使用 full file name时,直接打开文件。
QProcess::startDetached(explorer,param);
}
// OK 2
QStringList param;
param<<QDir::toNativeSeparators(FullFileName);
QProcess::execute("gedit", param);
————————————————
版权声明:本文为CSDN博主「luoyayun361」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luoyayun361/article/details/117421846
qt怎么用默认的打开方式打开本地文件
通过QRunnable来间接调用ShellExcute即可~``
使用windows api:ShellExecute
#include <Windows.h> ///这个,只在 windows OS版本才有,linux没有。
应该是 #include <shellapi.h>
https://bbs.csdn.net/topics/350032009