Bonjour,
Alors j'ai une zone de dessin (GraphicsScene/GraphicsView) qui contient un ensemble d'objet qui sont des carrés pour former au final une "matrice de pixel" ; au départ tous les pixels sont visibles dans la zone mais je peux effectuer un zoom et par conséquent ne voir qu'un sous ensemble des pixels.
Pour donner un maximum d'indice, les pixels sont des objets d'une classe qui hérite de la classe QGraphicsObject (class Pixel : public QGraphicsObject).
J'aimerais donc savoir comment on peut connaître les pixels dessinés car visible dans la zone de dessin et ceux qui le sont pas.
J'ai fait énormément de test en pensant récupérer le rect() de la scène mais après un zoom le rectangle n'évolue pas etc...
Là seul chose que j'ai pu remarquer c'est que Qt sait très bien les pixels qu'il doit dessiner et ceux qu'il doit pas car seulement la méthode
des pixels visibles est appelés... j'aimerais donc comme Qt connaître la liste des pixels visibles ou non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void paint(QPainter* painter, const QStyleOptionGraphicsItem* item, QWidget* widget) override;
Merci d'avance.
PS : Pour se faire une idée, vous pouvez regarder l'exemple Qt 40.000 chips qui est un peu le même principe.
Partager