1、在不需要选中指定文件的时候,直接使用Qt自带的方法即可
QString filepath = fi.absolutePath();//文件夹路径
QDesktopServices::openUrl("file:///" + fi.dir().absolutePath());
2、需要打开文件夹并且选中指定文件(windows下使用),文件中有特殊符号也可以测试通过
#ifdef Q_OS_WIN
fullfilename.replace("/", "\\");//文件的全路径
QTextCodec * codec = QTextCodec::codecForName("GB18030");
QString cmd = QString(" /select,\"" + fullfilename + "\"");
ShellExecuteA(NULL, "open", "explorer", codec->fromUnicode(cmd).constData(), NULL, SW_SHOWDEFAULT);
#endif