wxPython - Wie erzeuge ich einen eigenen Event?

Plattformunabhängige GUIs mit wxWidgets.
Antworten
2bock
User
Beiträge: 94
Registriert: Freitag 12. September 2003, 07:58
Wohnort: 50.9333300 / 6.3666700

Hallo zusammen.

Weiß von euch jemand vielleicht wie ich selber einen Event erzeugen kann? Quasi so einen wie EVT_BUTTON nur mit anderem Namen z.B. EVT_2BOCK.

Vorab schon mal Danke für eure Antworten.

Gruß Thomas :wink:
2bock
User
Beiträge: 94
Registriert: Freitag 12. September 2003, 07:58
Wohnort: 50.9333300 / 6.3666700

Ich hab im Internet ne Lösung gefunden. (Glaube ich) Hab sie noch nicht ausprobiert.

Code: Alles auswählen

wxEVT_UPDATE_AUDIO = 2001

def EVT_UPDATE_AUDIO(win, func):
        win.Connect(-1,-1,wxEVT_UPDATE_AUDIO,func)

class UpdateAudioEvent(wxPyEvent):
        def __init__(self):
                wxPyEvent.__init__(self)
                self.SetEventType(wxEVT_UPDATE_AUDIO)

I decided to mimic something like the Event Table
for wxWindows 2.0:

#--------------------------------------------------------------------

import string

#existing events - not overridden
		#EVT_LEFT_DOWN
		#EVT_LEFT_UP


EVTAB = """
                EVT_UPDATE_AUDIO
                EVT_MOUSE_CHANGE
                EVT_LEFT_IS_DOWN
                EVT_DRAGGING
		EVT_TAKE_OUT_GARBAGE
"""

evtnum=2000
for myevt in string.split(EVTAB):
        exec('wx%s = %s ' % (myevt,`evtnum+1`))
        exec("def %s(win,func): win.Connect(-1,-1,wx%s,func)" %
(myevt,myevt))
        evtnum=evtnum+1
Bis zum nächsten Mal 2bock :P
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

Schon die Datei demo/PythonEvents.py angesehen?
Antworten