fileDialog.qml という名前のqmlファイルを作成し、qt5FileDialog{}
から利用可能な要素を使用します
http://qt-project.org/doc/qt-5.1/qtquickdialogs/qml-qtquick-dialogs1-filedialog.html .
リソースの場所が必要なときはいつでもfileDialog.qmlをコンポーネントとして使用し、タイトル、フィルターなどのすべてのプロパティを設定します。これらは正常に機能していますが、使用しようとするとid.fileUrl
応答がありません。詳細を以下に示します。
ファイル fileDialog.qmlは
import QtQuick 2.1
import QtQuick.Dialogs 1.0
FileDialog {
id: fileDialog
objectName: "fileBrowser"
title: "Add New Layer"
visible: false
property alias selectedFilename: fileDialog.fileUrls
onAccepted: {
console.log("You chose: " + fileDialog.fileUrls)//-------- (1)
}
onRejected: {
console.log("Canceled")
}
//Component.onCompleted: visible = true
}
参照(ボタンのように使用されるQMLのアイテム)ボタンがクリックされたときに、これをコンポーネントとして使用して、次の手順を実行しています。
onClicked: {
//Default Values fileDialog.{selectExisting = true, selectFolder = false}
fileDialog.title = "Add New Image"
//fileDialog1.selectMultiple = true
fileDialog.nameFilters = ["Image File (*.png *.jpg *.bmp)"]
//fileDialog.fileUrls
//string path
fileDialog.visible = true
console.log(" Image chosen: " + fileDialog.fileUrl + " in image")//--- (2)
}
行(1)は正常に機能していますが、(2)は機能していません。コンソールの (2) 行の出力は、単にImage selected: in imageです。
コンポーネントfileDialogの他の(タイトル、ファイラーなど)プロパティを設定しているときは機能しますが、fileUrlまたはfileUrlsでは機能しないため、ここで何が間違っているのかわかりません。
コンポーネントとして使用するときにfileUrlを取得する方法を誰かが提案してください。
ありがとう、