在大多数编码程序中,您可以右键单击该项目并单击“在资源管理器中显示”,它会在资源管理器中显示所选项目的文件。你会怎么用QDesktopServices在Qt中做到这一点? (或在QT中任何方式)
答案 0 :(得分:5)
您可以使用此方法在Windows或MacOS上选择文件,如果您想在Linux上选择,您可以在QtCreator源中找到一种方法。
void select(const QString& path){
#if defined(Q_OS_WIN)
const QString explorer = "explorer";
QStringList param;
if (!QFileInfo(path).isDir())
param << QLatin1String("/select,");
param << QDir::toNativeSeparators(path);
QProcess::startDetached(explorer, param);
#elif defined(Q_OS_MAC)
QStringList scriptArgs;
scriptArgs << QLatin1String("-e")
<< QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"")
.arg(path);
QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
scriptArgs.clear();
scriptArgs << QLatin1String("-e")
<< QLatin1String("tell application \"Finder\" to activate");
QProcess::execute("/usr/bin/osascript", scriptArgs);
答案 1 :(得分:0)
您是否尝试过使用file:///
语法?以下内容取自我正在使用的代码库:
PyQt4.QtGui.QDesktopServices.openUrl(PyQt4.QtCore.QUrl('file:///%s' % dirname))