Feb-09-2017, 01:57 PM
# -*- coding: cp1252 -*- import wx zd = Zeigedict = {"zeigspalten": ["A", "B"], "zeigreihen": ["a", "b"]} class Mainframe(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title) self.dpbox = dpbox = wx.BoxSizer(wx.HORIZONTAL) self.SetSizer(dpbox) # # # Teil 2: Menubalken menuBar = wx.MenuBar() setzenMenu = wx.Menu() sid = wx.ID_ANY setzenMenu.Append(sid, "Spalten", "Spaltengruppen setzen") wx.EVT_MENU(self, sid, self.OnZeigspalten) rid = wx.ID_ANY setzenMenu.Append(rid, "Reihen", "Reihengruppen setzen") wx.EVT_MENU(self, rid, self.OnZeigreihen) menuBar.Append(setzenMenu, "Setzen") self.SetMenuBar(menuBar) self.Show() def OnZeigspalten(self, event): self.spalcmbb = spalcmbb = wx.MultiChoiceDialog(self, "Spaltenauswahl nach Gruppen", "Spaltenauswahl nach Gruppen", zd["zeigspalten"]) if (spalcmbb.ShowModal() == wx.ID_OK): spaltenwahl = spalcmbb.GetSelections() print "gewählt sind Spalten: ", spaltenwahl print "-> ", for sw in spaltenwahl: print zd["zeigspalten"][sw], ", ", print spalcmbb.Destroy() return def OnZeigreihen(self, event): self.reihcmbb = reihcmbb = wx.MultiChoiceDialog(self, "Reihenauswahl nach Gruppen", "Reihenauswahl nach Gruppen", zd["zeigreihen"]) if (reihcmbb.ShowModal() == wx.ID_OK): reihenwahl = reihcmbb.GetSelections() print "gewählt sind Reihen: ", reihenwahl reihcmbb.Destroy() return if __name__ == "__main__": app = wx.App(0) preframe = Mainframe(None, -1, "Anfangsauswahl") app.MainLoop()If I run this and choose "Spalten" from the menu, it seems that OnZeigreihen is executed and not OnZeigspalten. Why?