16

私は次のものを持っています:

QProcess *process = new QProcess(this);
QString path = QDir::toNativeSeparators(QApplication::applicationPath);
#if defined(Q_OS_WIN)

process->start("explorer.exe",  QStringList() << path);

#elif defined(Q_OS_MAC)

process->start("open", QStringList() << path);

#endif

たとえばUbuntuで同じ動作を実現するにはどうすればよいですか?

4

1 に答える 1

39

QDesktopServicesとそのopenUrl関数を使用します。

QString path = QDir::toNativeSeparators(QApplication::applicationDirPath());
QDesktopServices::openUrl(QUrl::fromLocalFile(path));

すべてのOSで動作するはずです。私はそれをWindowsでのみテストしました。

于 2010-08-25T20:28:02.053 に答える