ユーザーが実行時に指定する特定のファイルへのパスを必要とする小さなアプリケーションがあります。必要なのはパスだけです。これは、ユーザーがディレクトリ ツリーをたどるファイル エクスプローラーのようなものだと思います。
Qtでこれを行う方法はありますか、またはネイティブOSの実装を呼び出す必要があります(可能な場合)。Qt にない場合、ローカル OS 実装をどのように利用できますか?
ユーザーが実行時に指定する特定のファイルへのパスを必要とする小さなアプリケーションがあります。必要なのはパスだけです。これは、ユーザーがディレクトリ ツリーをたどるファイル エクスプローラーのようなものだと思います。
Qtでこれを行う方法はありますか、またはネイティブOSの実装を呼び出す必要があります(可能な場合)。Qt にない場合、ローカル OS 実装をどのように利用できますか?
これはQFileDialogが達成しようとしていることなので、ウィジェット ベースのアプリケーションの場合はそれを使用することをお勧めします。書く必要があるのは、次のようなものだけです。
fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
これにより、ユーザーがナビゲーションに使用できる選択用のダイアログが表示されます。
QML を使用する場合は、FileDialog コンポーネントを試すことができます。次に、次のように記述します。
import QtQuick 2.2
import QtQuick.Dialogs 1.0
FileDialog {
id: fileDialog
title: "Please choose a file"
onAccepted: {
console.log("You chose: " + fileDialog.fileUrls)
Qt.quit()
}
onRejected: {
console.log("Canceled")
Qt.quit()
}
Component.onCompleted: visible = true
}