der Text von label_mo, label_di, etc. soll aktualisiert werden, wenn etwas in einer Combobox selektiert wird. Ich komme aber einfach nicht drauf, wie die Labels angesprochen werden. Normalerweise so label_mo.SetLabel("text"), oder?
Vielen Dank für die Aufmerksamkeit

Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx
tage = ['mo','di','mi','do','fr','sa','so']
tageszeit = ['v','m','n']
einheiten=['Bitte wählen',
'trainingsspiel',
'spielintelligenz',
'pressing',
'passspiel',
'konterspiel',
'flexibilitaet',
'abseitsfalle',
'kopfball',
'flanken',
'schussgenauigkeit',
'zweikampf',
'tackling',
'fuenf_gegen_zwei',
'schusskraft',
'alleingaenge',
'technik',
'gymnastik',
'radfahren',
'schnelligkeit',
'kraftraum',
'schwimmen',
'waldlauf',
'kondition',
'zirkeltraining',
'leichte_ausdauer',
'taktikschulung',
'straftraining',
'torwarttraining',
'elfmeter',
'freistoesse',
'ecken',
'standards',
'frische',
'frei',
'fussballtennis'
]
class ateMainFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, (-1, -1),(900,300))
self.mainpanel = ateMainPanel(self,-1)
self.CreateStatusBar()
self.GetStatusBar().SetFieldsCount(2)
class ateChoices(wx.ComboBox):
def __init__(self,parent,id,value,size,pos,choices,style):
wx.ComboBox.__init__(self,parent,id,value,size,pos,choices,style)
self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, self)
def EvtComboBox(self,event):
print event.GetString() + " selected"
#print "GetClientData() :" + str(event.GetClientData())
#print "GetClientObject() :" + str(event.GetClientObject())
#print "GetExtraLong() :" + str(event.GetExtraLong())
#print "GetInt() :" + str(event.GetInt())
#print "GetSelection() :" + str(event.GetSelection())
print "Name "+ str(self.GetName())
print "GetString() :" + str(event.GetString())
class ateMainPanel(wx.Panel):
def __init__(self,parent,id):
wx.Panel.__init__(self,parent,id,(-1,-1))
vbox = wx.BoxSizer(wx.VERTICAL)
for zeit in tageszeit:
hbox = wx.BoxSizer(wx.HORIZONTAL)
for tag in tage :
cb = ateChoices(self,-1,"Bitte Wählen",(-1,-1),(-1,-1),einheiten,wx.CB_READONLY)
#print cb.GetName()
cb.SetName("cb_"+tag+"_"+zeit)
#cb.Bind(wx.EVT_COMBOBOX, cb.EvtComboBox, cb)
#print cb.GetName()
hbox.Add(cb,0)
vbox.Add(hbox)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
for tag in tage:
label = wx.StaticText(self,-1)
box = wx.StaticBox(self, -1, tag)
bsizer = wx.StaticBoxSizer(box, wx.VERTICAL)
label.SetName("label_"+tag)
box.SetName("box_"+tag)
bsizer.Add(label, 0, wx.TOP|wx.LEFT, 10)
#print box.GetName()
#print label.GetName()
#print label.GetParent()
hbox1.Add(bsizer,0)
vbox.Add(hbox1)
self.SetSizer(vbox)
class ATE (wx.App):
def OnInit(self):
frame = ateMainFrame(None, -1, 'Titel')
frame.Show(True)
return True
if __name__ == '__main__':
app = ATE(0)
app.MainLoop()