ほとんどのコーディングプログラムでは、アイテムを右クリックしてエクスプローラで[表示]をクリックすると、選択したアイテムがエクスプローラに表示されます。あなたはQDesktopServicesを使ってQtでそれをどうしますか? (またはQTでそれを行う方法)QDesktopServices :: openUrlエクスプローラで指定したファイルを選択する
2
A
答えて
5
:以下は、私が働いているコードベースから取得されます。
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);
0
file:///
構文を試しましたか?あなたがLinux上で選択したい場合は、QtCreator源に方法を見つけることができ、WindowsやMacOSの上のファイルを選択するには、このメソッドを使用することができます
PyQt4.QtGui.QDesktopServices.openUrl(PyQt4.QtCore.QUrl('file:///%s' % dirname))
+0
はい、これは、ファイルマネージャウィンドウ(NemoやWindowsエクスプローラなど)でディレクトリを開く方法です。しかし、問題は、そのウィンドウ内のファイルを選択することでした。 –
関連する問題
- 1. QDesktopServices :: openUrlを使って改行してメールを送信する
- 2. エクスプローラで選択したファイルやフォルダを取得
- 3. Samsung My Filesエクスプローラ:ファイルの選択インテント
- 4. Javaエクスプローラでファイルを選択しますか?
- 5. Windowsエクスプローラでファイルを選択しても機能しない
- 6. Windowsエクスプローラで複数のファイルを選択する方法
- 7. Python - 現在のWindowsエクスプローラで選択したファイルのパスを取得
- 8. を指定したフォルダ内のエクスプローラで検索を実行
- 9. 文字列のリストで指定されたファイルの行を選択する
- 10. 指定サブビュースウィフトを選択
- 11. タグを選択 - ロジックを使用して選択した値を指定
- 12. 条件を指定してJqueryで選択したオプション
- 13. QDesktopServices openUrlを使用するコードに対して単体テストを書く方法はありますか?
- 14. 選択した指定された列を返す
- 15. 選択指定された値
- 16. C#でDataTableから指定された列を選択する
- 17. VBAでピボットテーブルフィルタの指定された期間を選択する
- 18. ランダムなベクトルで指定された列を選択するR
- 19. 指定したテーブル名からデータを選択しますか?
- 20. kableExtra:プログラムで選択した行の外観を指定
- 21. 選択したラジオボタンで指定した値で数値を増やす
- 22. QDesktopServices :: OpenURLのが動作しません、どちらもURLのもローカルファイルのため、2つのプラットフォーム
- 23. 指定した値を選択したときにselect2を複数クリアする
- 24. D3v4:scaleOrdinalで指定された色をインデックスに登録して選択する
- 25. トリガー<input type = "file">プログラムで角度を指定してファイルを選択
- 26. セル内のリストから指定した値を選択
- 27. Windowsエクスプローラ/ Mac Finderを選択しますか?
- 28. 指定されたIDでレコードを選択
- 29. 子供を選択し親データを指定するLinqラムダクエリ
- 30. DataRow:指定した列名でセルの値を選択します。
これは 'openUrl'の1回の呼び出しよりも優れていますか? – krlmlr
それはファイルを選択することができ、openurlはできません。 –
ファイルパスにカンマがあると、Q_OS_WINソリューションが動作しないことがわかりました。 cmdを使用すると、ファイルパスを囲む問題を引用符で修正できますが、この解決法はqtでは機能しません。何か案が? – louissmr