Question

J'utilise un QPainter pour obtenir des graphiques sur une fenêtre. Malheureusement, chaque fois que la fonction paintEvent () est appelée, la fenêtre entière est effacée. Comment puis-je dessiner sans nettoyer? C'est à dire. comment puis-je laisser intact le contenu de l'événement de peinture précédent?

J'utilise Qt4

Était-ce utile?

La solution

Vous devez définir le backgroundMode en utilisant le setBackgroundMode . L’enum Qt :: NoBackground est ce que vous recherchez.

Autres conseils

Puisque les deux réponses ne concernent que Qt3, voici la solution pour Qt4. Vous devez appeler

setAttribute(Qt::WA_OpaquePaintEvent);

(par exemple dans le constructeur) en suivant la documentation ici .

Dans Qt3, définissez l'indicateur Qt :: WNoAutoErase à partir de WidgetFlags enum pour éviter que la fenêtre ne soit effacée à chaque événement de peinture.

Vous pouvez définir cet indicateur en le transmettant au constructeur QWidget .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top