wxPython Bug EVT_LEFT_UP

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ich musste gerade folgendes feststellen:

Test Code: http://paste.pocoo.org/show/206801/

Wenn ich den gezeigten Code oben unter Windows 7 32bit mit Python 2.6.4
und wxPython 2.8.10.1 laufen lasse passiert beim linke Maustaste loslassen
nichts. Jedoch wird bei einem Doppelklick die Funktion `OnListCtrlLeftUp`
ausgelöst. EVT_LEFT_DCLICK und EVT_LEFT_DOWN funktionieren wie erwartet.

Unter Linux (Ubuntu 9.10) 32bit mit Python 2.6.4 und wxPython 2.6.3.2 und
2.8.10.1 funktioniert der Code wie erwartet.

Kann den Fehler jmd für Windows bestätigen?
fhoech
User
Beiträge: 143
Registriert: Montag 9. April 2007, 18:26

Ja, kann ich bestätigen. Mein Windows 7 ist zwar die 64-Bit-Fassung, und ich verwende Python 2.6.5 (32-Bit), aber wxPython ist wie bei Dir 2.8.10.1. Auch interessant: Wenn ich dann in Deinem Codebeispiel zusätzlich EVT_LEFT_DOWN an einen eigenen Eventhandler binde, funktioniert auch EVT_LEFT_UP, allerdings lassen sich im ListCtrl keine Zeilen mehr auswählen. Füge ich dann im Eventhandler für EVT_LEFT_DOWN ein event.Skip() hinzu, lassen sich wieder Zeilen auswählen, der Eventhandler wird auch aufgerufen, aber dafür funktioniert EVT_LEFT_UP nicht mehr.
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

In Verbindung mit EVT_LEFT_DOWN funktioniert EVT_LEFT_UP.
Zumindest bei mir mit wxPython 2.8.10 / Python 2.6 WinXP(32bit) und Vista(64bit).

Ohne EVT_LEFT_DOWN kommt bei mir EVT_LEFT_UP nur mit einem Doppelklick.

Gruß
Damaskus
Antworten