Seite 1 von 1

GUI, Flackern verhindern

Verfasst: Freitag 12. Mai 2006, 08:36
von george
Hey,

ich habe eine komplexere Grafik mit wxPython und PyAUI. Bei Aktualisierung der Controls, usw. flackern diese(verursacht durch Neuzeichnen).
Gibt es mit wxPython die Möglichkeit Grafiken(Frames) so zu zeichen, dass dies Flackern verhindert wird???
Also im Hintergrund(virtuell) neu zeichen und dann die Grafik auf dem Desktop darstellen.
Danke

george

Re: GUI, Flackern verhindern

Verfasst: Freitag 12. Mai 2006, 08:55
von gerold
george hat geschrieben:Bei Aktualisierung der Controls, usw. flackern diese(verursacht durch Neuzeichnen).
Hi george!

Vielleicht kannst du schon etwas mit Freeze() und Thaw() erreichen.

mfg
Gerold
:-)

Re: GUI, Flackern verhindern

Verfasst: Freitag 12. Mai 2006, 09:33
von Francesco
gerold hat geschrieben:
george hat geschrieben:Bei Aktualisierung der Controls, usw. flackern diese(verursacht durch Neuzeichnen).
Hi george!

Vielleicht kannst du schon etwas mit Freeze() und Thaw() erreichen.

mfg
Gerold
:-)
Hi,

Ja, ich stimme dir (Gerold) zu, vielleicht genügt das schon.

Andere Möglichkeit ist "Double Buffer Drawing".

Aus Wiki:
What Is Double Buffering?

Double buffering is storing the contents of a window in memory (the buffer), so that the screen can be easily refreshed without having to re-draw the whole thing.


mit Code Sample:
http://wiki.wxpython.org/index.cgi/Doub ... redDrawing

Ob und wie das mit PyAUI funktioniert, musst du (george) selbst probieren. :)

Nachtrag: weiss nicht, ob das mit "Core Controls" funktioniert (buttons, listbox, ...).
Diese zeichnen sich ja praktisch von selbst, im gegensatz zu Grafiken,
wo man das EVT_PAINT event verwendet und mit Hilfe der Device
Contexts neu zeichnet.

Sonst würde ich auf jeden Fall einmal vorher Gerolds Methode probieren.