Frage

Ich bin mit einem QPainter einige Grafiken auf einem Fenster zu erhalten. Leider wird jedes Mal, wenn die paintEvent() Funktion aufgerufen wird das gesamte Fenster gelöscht. Wie kann ich ohne Clearing ziehen? D. h Wie verlasse ich das Zeug aus früherem Paint-Ereignisse unberührt?

Ich bin mit Qt4

War es hilfreich?

Lösung

Sie müssen die backgroundMode durch die setBackgroundMode Setter. Die Qt::NoBackground Enum ist, was Sie suchen.

Andere Tipps

Da beide Antworten nur für Qt3 sind, hier ist die Lösung für Qt4. Sie müssen rufen

setAttribute(Qt::WA_OpaquePaintEvent);

(zum Beispiel im Konstruktor) im Anschluss an die Dokumentation hier .

In Qt3, stellen Sie die Qt::WNoAutoErase Flagge aus dem WidgetFlags Enum zu vermeiden, dass das Fenster auf jeder Farbe Ereignisse gelöscht wird.

Sie können diesen Flag gesetzt, indem es auf die QWidget Konstruktor .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top