我有兩個QML文件。 在First.qml我可以使可見Second.qml。在Second.qml中我有selectedParts變量。 我想設置selectedParts爲值總是,當我使Second.qml可見。這隻適用於我第一次加載 Second.qml。如果我製作Second.qml隱形然後可見,selected部件值是。無論如何 使selectedParts變量公開,並設置它的值總是當我點擊myImage?QML:公共變量
First.qml
Item {
Image {
id: myImage
MouseArea{
anchors.fill: parent
onClicked: {
second.visible = true
...
}
}
}
}
Second.qml
Item {
property int selectedParts: 1
Image {
id: myImage2
MouseArea{
anchors.fill: parent
onClicked: {
selectedParts = 2
...
}
}
}
}
從'First.qml'增加'selectedParts'(只要沒有其他 - 未顯示的代碼 - 影響變量),就沒有辦法。此外,'selectedParts'可在代碼中作爲頂級變量訪問,使其可以在First.qml中看到。如果您的代碼發佈*代碼中存在特定問題。無論如何,當組件可見時將變量設置爲'2',可以在'onVisibleChanged'內執行,即'onVisibleChanged:if(visible)selectedParts = 2'。如果內部作用域中有變量,請考慮[別名](http://doc.qt.io/qt-5/qtqml-syntax-objectattributes.html)。 – BaCaRoZzo
那麼,如果你只是'second.visible = true; second.selectedParts = 1;'in'First'? – hyde
hyde變量selectedParts在First.qml中不可訪問 –