QML: Animation nach dataChanged-Signal

Alles rund um die Programmierung mit Qt
Antworten
shaka
Beiträge: 27
Registriert: 8. November 2006 10:36
Wohnort: München

QML: Animation nach dataChanged-Signal

Beitrag von shaka »

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):

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 )
            }
        }
    }
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...
Antworten