[Python-Leipzig] wxPython event handler

Maik Derstappen info at profi-internetseiten.de
So Apr 6 16:45:30 UTC 2008


Hallo zusammen,

ich beschäftige mich gerade mal ein wenig mit wxpython.
Dabei verstehe ich die Vorgehensweise beim eventhandling mit buttons
nicht ganz.

Ich habe in einem Frame 2 Buttons die vom Typ ADD sind.
Beiden habe ich über wxglade in der eventtabelle eine eigene methode
zugewiesen.

im python code sieht das dann so aus:

         wx.Frame.__init__(self, *args, **kwds)
        self.button_1 = wx.Button(self, wx.ID_ADD, "")
        self.button_2 = wx.Button(self, wx.ID_ADD, "")

        self.Bind(wx.EVT_BUTTON, self.OnAddProject, self.button_1)
        self.Bind(wx.EVT_BUTTON, self.OnAddTask, self.button_2)

    def OnAddProject(self, event): # wxGlade: MyFrame.<event_handler>
        print "Event handler `OnAddProject' not implemented!"
        event.Skip()

    def OnAddTask(self, event): # wxGlade: MyFrame.<event_handler>
        print "Event handler `OnAddTask' not implemented!"
        event.Skip()


Das ist der generierte code:
Ich habe die methode natürlich angepasst und sie enthalten auch kein
event.skip() mehr.
Dennoch wird bei einem Klick auf button1 zu erst OnAddTask() ausgeführt,
was mir nicht richtig einläuchtet.
Wozu definiere ich denn: self.Bind(wx.EVT_BUTTON, self.OnAddProject,
self.button_1) wenn es keine Wirkung hat?


kann mir jemand einen Tipp dazu geben?
vielen dank für jeden Hinweis ;-)

Gruß Maik Derstappen