QML: Animation nach dataChanged-Signal
Verfasst: 15. Oktober 2013 16:33
Hallo,
Ich habe ein Model (abgeleitet von QAbstractItemModel), das meine Daten verwaltet. Dargestellt werden die Daten in QML als ein Array von Images, mittels eines Repeaters; ungefähr so (stark vereinfacht):
Wenn sich meine Daten im Model ändern, wird ein dataChanged-Signal geschickt, und die Darstellung der Images ändert sich. (Row, Column und TokenType sind UserRoles, die im Model verwendet werden).
So weit, so gut. Allerdings würde ich eine Änderung der Images gern animieren, d.h. wenn das dataChanged-Signal kommt, soll z.B. das alte Image verblassen, das neue langsam auftauchen; auch kompliziertere Animationen sind vorstellbar. Ich hab aber keine Ahnung, wie ich das machen kann. Wie komme ich z.B. in einem Handler für das dataChanged-Signal an die einzelnen Images ran, so daß ich etwa ihre opacity animieren kann?
Danke
Shaka
P.S.: Seid geduldig mit mir, das sind meine ersten Gehversuche mit qml...
Ich habe ein Model (abgeleitet von QAbstractItemModel), das meine Daten verwaltet. Dargestellt werden die Daten in QML als ein Array von Images, mittels eines Repeaters; ungefähr so (stark vereinfacht):
Code: Alles auswählen
Repeater {
model: boardModel
delegate: Rectangle {
//...
x: model.Row*width
y: model.Column*height
Image {
anchors.fill: parent
source: calcImageSource( model.TokenType )
}
}
}
So weit, so gut. Allerdings würde ich eine Änderung der Images gern animieren, d.h. wenn das dataChanged-Signal kommt, soll z.B. das alte Image verblassen, das neue langsam auftauchen; auch kompliziertere Animationen sind vorstellbar. Ich hab aber keine Ahnung, wie ich das machen kann. Wie komme ich z.B. in einem Handler für das dataChanged-Signal an die einzelnen Images ran, so daß ich etwa ihre opacity animieren kann?
Danke
Shaka
P.S.: Seid geduldig mit mir, das sind meine ersten Gehversuche mit qml...