Problem mit ButtonEvent

Plattformunabhängige GUIs mit wxWidgets.
Antworten
GuidoF

Freitag 23. September 2005, 01:09

Hallo,

ich habe gerade mit wxPython angefangen und bin nun auf folgendes Problem gestoßen:

Ich habe eine Anwendung mit einem wxFrame und einem wxDialog.
Auf dem wxFrame ist ein Button über dessen Event ich den Dialog aufrufe. Das Problem ist nun aber, daß der Event immer zweimal ausgelöst wird und der Dialog entsprechend auch zweimal erscheint.

Zur Verdeutlichung hier die relevanten Codeabschnitte:

Code: Alles auswählen

from EdtDialog import EdtDialog


class MainFrame(wx.Frame):
    def __init__(self, *args, **kwds):
   ...
        self.Bind(wx.EVT_BUTTON, self.btn_NewOnClick, self.btn_New)
    
    def btn_NewOnClick(self, event): # dies wird immer zweimal ausgeloest
        edlg = EdtDialog(self)
        edlg.ShowModal()
        edlg.Destroy()
        event.Skip()

class EdtDialog(wx.Dialog):
    def __init__(self, *args, **kwds):
    ...
    
    def btn_CloseOnClick(self, event):
        self.Close(True)
        event.Skip()

Was mache ich falsch?

Gruß
Guido
Antworten