是否可以在某個時間點臨時禁用(忽略/不顯示)複雜QML組件上的動畫?然後激活動畫並照常工作。臨時禁用(忽略/不顯示)複雜QML組件上的動畫
例如。 QML上的複雜頁面顯示對象的數據,有許多小動畫。更改數據對象時,應忽略這些動畫。
Rectangle {
anchors.fill: parent
property variant cppViewModel: MyCppViewModel {
onBeforDataObjectChanged: {
}
onAfterDataObjectChanged: {
}
}
Rectangle {
id: idRect1
Behavior on x { NumberAnimation { ... }}
Behavior on y { NumberAnimation { ... }}
x: cppViewModel.dataObject.offsetX
y: cppViewModel.dataObject.offsetY
scale: cppViewModel.dataObject.scale
Rectangle {
id: idRect2
width: cppViewModel.dataObject.width
heigth: cppViewModel.dataObject.heigth
Behavior on width { NumberAnimation { ... }}
Behavior on heigth { NumberAnimation { ... }}
ColumnLayout {
Rectangle {
Layout.preferredHeight: 100 * cppViewModel.dataObject.width1
Behavior on Layout.preferredHeight { NumberAnimation { duration: 500; easing.type: Easing.OutQuad; }}
//... Any number of children with animation
}
}
}
}
PropertyAnimation { target: idRect1; property: "scale"; from: 0.9; to: 1.0; ... }
}
如果當前數據對象的屬性值發生變化,則需要動畫。如果整個對象更改爲另一個,則需要阻止該動畫。
嗨,你可以請廣告一些代碼,以幫助我的想象力?但我認爲答案是**是** – derM
已添加。實際代碼超過2000行。 –
所以它是關於那些行爲? – derM