2011-02-14 2 views
0

J'ai joué avec la classe Flickable de Qt Labs. Je comprends assez bien comment l'exemple fonctionne, mais j'ai du mal à comprendre comment je peux l'utiliser pour afficher quelque chose d'autre que quelque chose de dynamiquement peint à l'intérieur de paintEvent.Qt Widgets Flickable

Si j'ai une liste de boutons que je veux être Flickable, y a-t-il un moyen de réimplémenter le paintEvent Flickable pour appeler tous les paintEvents du bouton?

Il semble que la classe Flickable détermine à peu près quels boutons seraient visibles, donc tout ce que je devrais faire pour chaque bouton est de définir sa position y et lui dire de se peindre à cette position.

Tous les pointeurs seraient appréciés ...

+0

Vous ne comprenez pas vraiment la question .... vos boutons sont-ils réellement des rectangles QML? Mes Flickables contiennent des Colonnes avec des widgets de style bouton, ceux-ci sont implémentés comme des Rectangles ou des Images. – funkybro

Répondre

2

Dans votre sous-classe, vous devez réimplémenter setScrollOffset. Là, vous pouvez faire diverses choses. Le ColorList inclus déclenche juste une mise à jour de repeindre, mais théoriquement, vous pourriez aussi p. Ex. déplacez les widgets. En fait, il n'est pas nécessaire de réimplémenter paintEvent dans une sous-classe de Flickable.

Note: J'ai écrit cette classe Flickable.

+0

Blarg. La méthode paintEvent avait le plus de code, donc j'ai supposé que c'était là où je devais travailler. ty et s'il vous plaît excusez mon idiotie. – jjfine

Questions connexes