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