QDesktopServices :: openUrl,在资源管理器中选择指定的文件

Geo*_*Shg 4 qt openurl

在大多数编码程序中,您可以右键单击该项目并单击"在资源管理器中显示",它会在资源管理器中显示所选项目的文件.你会怎么用QDesktopServices在Qt中做到这一点?(或在QT中的任何方式)

小智 6

您可以使用此方法在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);
Run Code Online (Sandbox Code Playgroud)

  • 它更好,因为它可以选择文件和openurl不能 (2认同)