Mouseevent in einer Radiobox
Verfasst: Samstag 1. September 2007, 13:25
Hallo,
ich weis nicht was ich da falsch mache. Ich kann die Radiobuttons durch anklicken nicht aktivieren. D.h. so wie ich das programmiert habe, kommt der Event irgendwie nicht an.
ich weis nicht was ich da falsch mache. Ich kann die Radiobuttons durch anklicken nicht aktivieren. D.h. so wie ich das programmiert habe, kommt der Event irgendwie nicht an.
Code: Alles auswählen
#!c:/python24/python
import wx
import wx.aui
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, title = "Pump v0.1", size = (800,600), pos = (300, 300))
# Make new notebook
self.nb = wx.aui.AuiNotebook(self)
# Put notebook into sizer
sizer = wx.BoxSizer()
sizer.Add(self.nb, 1, wx.EXPAND)
self.SetSizer(sizer)
# Add tabs to notebook
self.makeTabs()
self.inputLayout()
def tabNames(self):
name = ['Concept', \
'Design', \
'Helix', \
'Characteristic', \
'hydr. Efficiency', \
'Comments', \
]
return name
def fluidNames(self):
fluids = ['Water/Gylcol', \
'Water', \
'Air', \
'Other', \
]
return fluids
def makeTabs(self):
for name in self.tabNames():
panel = wx.Panel(self, -1)
#panel.SetBackgroundColour((110, 110, 180))
panel.SetBackgroundColour('WHITE')
self.nb.AddPage(panel, name)
def inputLayout(self):
self.gbs = wx.GridBagSizer(6, 5)
rb = wx.RadioBox(self.nb.GetPage(0), -1, "Fluid type", wx.DefaultPosition, wx.DefaultSize, self.fluidNames(), 1, wx.RA_SPECIFY_COLS)
rb.SetSelection(0) # Pre-select first element in radio box
self.Bind(wx.EVT_RADIOBOX, self.OnRadio, rb)
self.gbs.Add(rb, (0,5), (1,1), wx.ALIGN_LEFT | wx.ALL, 5)
self.nb.GetPage(0).SetSizerAndFit(self.gbs)
def OnRadio(self, event):
self.selected = event.GetInt()
print self.selected
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None)
frame.Show(True)
self.SetTopWindow(frame)
return True
if __name__ == '__main__':
app = MyApp(redirect=False)
app.MainLoop()