我知道这个问题被问过这么多次,但答案都没有帮助我。我有两个QML文件。第一个Qml文件中有一个地图,当我按下地图时,它会打开一个包含以下代码的窗口:
MouseArea{
id: mouseArea
property var positionRoot: map.toCoordinate(Qt.point(mouseX, mouseY))
anchors.fill: parent
onClicked: {
var component = Qt.createComponent("addAttribute.qml")
if (component.status === Component.Ready) {
var dialog = component.createObject(parent,{popupType: 1})
dialog.show()
}
}
}
该窗口有label
,textfield
和button
。我想要的是获取我在第一个QML文件中创建的property
(positionRoot)的值。我怎么可能这样做?
答案 0 :(得分:0)
感谢@folibis,它有效。这是需要添加的代码。
MouseArea{
id: mouseArea
property var positionRoot: map.toCoordinate(Qt.point(mouseX, mouseY))
anchors.fill: parent
onClicked: {
var component = Qt.createComponent("addAttribute.qml")
if (component.status === Component.Ready) {
var dialog = component.createObject(parent,{popupType: 1})
dialog.sqlPosition = positionRoot
dialog.show()
}
}
}
在我的第二个窗口中,我只创建了一个名为sqlPosition的新属性。例如:
Window {
id: secondWindow
property var sqlPosition
}