1. Tous en scène !
Ce qui suit nécessite juste de créer un petit fichier Python, par exemple
test_scene.py.
1.1. Création de la scène
Commençons par créer une scène minimaliste avec un rectangle gris.
#-*- coding: latin_1 -*# test_scene.py
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QBrush
from PyQt5.QtWidgets import QApplication, QGraphicsScene, QGraphicsView, \
QGraphicsRectItem import sys app = QApplication(sys.argv) # definition de la scène
scene = QGraphicsScene() rectGris = QGraphicsRectItem(0.,0.,200.,150.)
rectGris.setBrush(QBrush(Qt.lightGray)) scene.addItem(rectGris) # definition de
la vue vue = QGraphicsView(scene) vue.resize(800,600)
vue.fitInView(rectGris,Qt.KeepAspectRatio) vue.show() sys.exit(app.exec_())
Voici ce qu'on fait dans ce court programme.
Pour les imports, on détaille ici chaque classe utilisée pour montrer le module
auquel elle appartient. Pour la facilité, on pourrait utiliser from PyQt5.… import
*, sachant que les noms des classes des différents modules ne rentrent pas en
collision.
On crée une scène, initialement vide. À noter que la scène a une couleur de fond qui,
par défaut, est le blanc.
Le rectangle QGraphicsRectItem est défini en coordonnées locales ; comme on ne
définit pas une position via setPos, le coin supérieur gauche du rectangle est
exactement aux coordonnées (0,0) de la scène. Rappelons que les dimension
200
Ce qui suit nécessite juste de créer un petit fichier Python, par exemple
test_scene.py.
1.1. Création de la scène
Commençons par créer une scène minimaliste avec un rectangle gris.
#-*- coding: latin_1 -*# test_scene.py
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QBrush
from PyQt5.QtWidgets import QApplication, QGraphicsScene, QGraphicsView, \
QGraphicsRectItem import sys app = QApplication(sys.argv) # definition de la scène
scene = QGraphicsScene() rectGris = QGraphicsRectItem(0.,0.,200.,150.)
rectGris.setBrush(QBrush(Qt.lightGray)) scene.addItem(rectGris) # definition de
la vue vue = QGraphicsView(scene) vue.resize(800,600)
vue.fitInView(rectGris,Qt.KeepAspectRatio) vue.show() sys.exit(app.exec_())
Voici ce qu'on fait dans ce court programme.
Pour les imports, on détaille ici chaque classe utilisée pour montrer le module
auquel elle appartient. Pour la facilité, on pourrait utiliser from PyQt5.… import
*, sachant que les noms des classes des différents modules ne rentrent pas en
collision.
On crée une scène, initialement vide. À noter que la scène a une couleur de fond qui,
par défaut, est le blanc.
Le rectangle QGraphicsRectItem est défini en coordonnées locales ; comme on ne
définit pas une position via setPos, le coin supérieur gauche du rectangle est
exactement aux coordonnées (0,0) de la scène. Rappelons que les dimension
200
