On définit une scène sur mesure SceneMosaiQ, en héritant de QGraphicsScene.
Comme on va faire des zooms importants, il est intéressant de définir un très grand
carré, pour pouvoir aller le plus loin possible avant de tomber sous la limite du plus
petit nombre représentable en virgule flottante. Rappelons qu'on est ici en
coordonnées scène, pas en coordonnées écran.
On crée le premier carré sur la scène, celui par lequel tout commence… On le met
dans un attribut de la scène carreMosaiQUnivers afin de pouvoir le référencer
lorsqu'on cadrera la vue.
On définit une vue sur mesure VueMosaiQ, en héritant de QGraphicsView.
Dans cette application, on se déplace uniquement via des actions souris ou clavier ;
pour ne pas surcharger l'affichage, on choisit de cacher les barres de défilement.
Le programme principal est sans surprise : on crée une scène et une vue en
instanciant les deux classes que nous avons définie.
Quand on lance cette application, on peut voir apparaître le grand carré, coloré
aléatoirement. Lorsqu'on passe le pointeur souris au-dessus du carré, on voit que sa
couleur change et que le pointeur se transforme en petite main ; ces effets disparaissent
lorsque le pointeur sort du carré.
Figure 12.3 : MosaiQ v0.1 (carré initial)
235
Précédent

- 236/494

Suivant