wx.EVT_KEY_DOWN --> Funktioniert bedingt

Plattformunabhängige GUIs mit wxWidgets.
Antworten
freze
User
Beiträge: 8
Registriert: Montag 14. Februar 2005, 22:02

Hallo,
Ich verwende in meiner wx-Applikation relativ erfoglreich das EVT_KEY_DOWN Event.

Code: Alles auswählen

 wx.EVT_KEY_DOWN(self, self.onKeyDown ) 
Erfolgreich ist es dann, wenn ich die Gui aufrufe und eine taste druecke.
Nicht erfolgreich, wenn ich das Fenster ikonisiere und anschließend wieder deikonisiere bzw. minimieren und maximieren. Das Event wird nach dem maximieren anscheinend nichtmehr ausgeloest

Hatte jemand evtl. mal ein aehnliches Problem

Gruß, Tobi
Buell
User
Beiträge: 90
Registriert: Samstag 29. Oktober 2005, 14:17

Ich denke mal das Problem liegt darin, dass nach dem maximieren des Fensters der Frame (an den das Event gebunden ist) nicht mehr focussiert ist. Mir fällt grad auf die schnelle nix ein, aber ich würde in etwa so vorgehen, ein OnPaint Event (wie in C - sofern es das in Python gibt) zu verwenden und damit zu focussieren, dann sollte das KeyDown Event auch wieder gehen.
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Hi freze, ich stimme Buell zu. Dies ist bestimmt ein Focus Problem.
Vielleicht helfen dir diese Funktionen:
> SetFocus()
> SetFocusIgnoringChildren()

Oder gleich noch hilfreicher ist vielleicht dieser Auszug aus der wxPython
Mailing List
http://aspn.activestate.com/ASPN/Mail/M ... rs/3116791

Gruss
Antworten