MosaiQ : une démo technologique !
Niveau : intermédiaire
Objectifs : se familiariser avec les méthodes événementielles du framework Graphics
View de Qt
Prérequis : Introduction au framework Graphics View de Qt, Première application avec
une vue graphique
Dans le chapitre précédent, nous avons vu comment on pouvait assigner aux éléments
des propriétés d'interaction standard héritées de QGraphicsItem. Nous avons vu aussi
qu'on pouvait utiliser les connexions signaux-slots pour modifier les vues, la scène ou
ses éléments à partir de widgets. Vous avez pu remarquer que pour toutes les
interactions simples présentées jusqu'ici, on n'a pas fait autre chose qu'utiliser les
techniques du module Développement d'une application avec des widgets. Dans une
application graphique plus avancée, on voudra cependant des interactions sur mesure
pour les éléments de la scène avec, si possible, un comportement différent selon le type
d'élément. Dans ce chapitre, nous allons voir comment les classes du framework
permettent de réaliser cela assez facilement, par héritage et surcharge de méthodes.
Pour illustrer ces concepts, nous allons nous transporter dans un univers un peu
spécial… À l'origine, il n'y a dans cet univers qu'un simple carré flottant dans l'Espace.
Le maître de cet univers (qu'on supposera en dehors de l'Espace !) n'a qu'un seul
pouvoir : celui de fragmenter tout carré en quatre carrés plus petits ayant chacun une
couleur aléatoire. Après avoir fragmenté le carré originel, le maître peut choisir un des
carrés obtenus et le fragmenter, à son tour, en quatre carrés encore plus petits ; en
exerçant ce pouvoir de manière répétée, il peut créer, où bon lui semble, des carrés de
plus en plus petits. La Figure 12.1 illustre le concept, en supposant que le maître de
l'univers ait procédé à six fragmentations, successivement sur les carrés du coin
inférieur gauche.
Figure 12.1 : Fragmentation
227
Précédent

- 228/494

Suivant