hallo, ich möchte diesen befehl anwenden in wxpython : spin.GetValue .
ich möchte den eingestellten wert im spin weiterverarbeiten.
finde keine lösung.
mfg
wo finde ich eine demo für spin.GetValue
Hallo,
nehmen wir an, Du hast ein SpinCtrl erzeugt:
Nun kannst Du mittels self.scAnzahl.GetValue() den Wert auslesen.
Gruß
Timo
nehmen wir an, Du hast ein SpinCtrl erzeugt:
Code: Alles auswählen
self.scAnzahl = wx.SpinCtrl(panel, -1, '', pos=(25,42), size=(60,30))
Code: Alles auswählen
wert = self.scAnzahl.GetValue()
Timo
ich habe ja dem spin ein event gegeben:
self.spin_ctrl_1 = wx.SpinCtrl(self, -1, "")
self.spin_ctrl_1.SetRange(0, 100)
self.spin_ctrl_1.SetValue(0)
self.Bind(wx.EVT_SPIN, self.printet, self.spin_ctrl_1)
aber beim anklicken zum hochzählen wird der wert nicht geprintet .woran liegt das?
self.spin_ctrl_1 = wx.SpinCtrl(self, -1, "")
self.spin_ctrl_1.SetRange(0, 100)
self.spin_ctrl_1.SetValue(0)
self.Bind(wx.EVT_SPIN, self.printet, self.spin_ctrl_1)
aber beim anklicken zum hochzählen wird der wert nicht geprintet .woran liegt das?
Code: Alles auswählen
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.spin_ctrl_1 = wx.SpinCtrl(self, -1, "")
self.spin_ctrl_1.SetRange(0, 100)
self.spin_ctrl_1.SetValue(0)
self.Bind(wx.EVT_SPIN, self.printet, self.spin_ctrl_1)
self.__set_properties()
self.__do_layout()
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("frame_1")
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
sizer_1.Add(self.spin_ctrl_1, 0, 0, 0)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
# end wxGlade
# end of class MyFrame
def printet(self, event):
global wert
wert = self.spin_ctrl_1.GetValue()
print wert
class MyApp(wx.App):
def OnInit(self):
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, "")
self.SetTopWindow(frame_1)
frame_1.Show()
return 1
# end of class MyApp
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
weil Dein Event falsch ist 
Falsch:
Richtig:

Falsch:
Code: Alles auswählen
self.Bind(wx.EVT_SPIN, self.printet, self.spin_ctrl_1)
Code: Alles auswählen
self.Bind(wx.EVT_SPINCTRL, self.printet, self.spin_ctrl_1)
jup, danke. das wars.
hatte dieses aus einem wxpython-demo:
und das andere mit wxglade angefertigt, da ist mir das garnicht aufgefallen das mit "wx.SpinButton" und "wx.SpinCtrl".
hatte dieses aus einem wxpython-demo:
Code: Alles auswählen
self.spin = wx.SpinButton(self, -1,
(w, 50),
(h*2/3, h),
wx.SP_VERTICAL)
self.spin.SetRange(1, 100)
self.spin.SetValue(1)
self.Bind(wx.EVT_SPIN, self.OnSpin, self.spin)
Wenn Du wxGlade benutzt, kannst Du in den Eigenschaften das Event einstellenund das andere mit wxglade angefertigt, da ist mir das garnicht aufgefallen das mit "wx.SpinButton" und "wx.SpinCtrl".

LG
Tim2611