]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/SpinButton.py
1 # 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net)
3 # o EVT_SPIN events (or something about them) freezes up the app.
8 #----------------------------------------------------------------------
10 class TestPanel(wx
.Panel
):
11 def __init__(self
, parent
, log
):
12 wx
.Panel
.__init
__(self
, parent
, -1)
16 wx
.StaticText(self
, -1, "This example uses the wx.SpinButton control.", (45, 15))
18 self
.text
= wx
.TextCtrl(self
, -1, "1", (30, 50), (60, -1))
19 h
= self
.text
.GetSize().height
20 w
= self
.text
.GetSize().width
+ self
.text
.GetPosition().x
22 self
.spin
= wx
.SpinButton(self
, -1, (w
+ 6, 50), (h
/2, h
), wx
.SP_VERTICAL
)
23 self
.spin
.SetRange(1, 100)
26 self
.Bind(wx
.EVT_SPIN
, self
.OnSpin
, self
.spin
)
29 def OnSpin(self
, event
):
30 self
.text
.SetValue(str(event
.GetPosition()))
33 #----------------------------------------------------------------------
35 def runTest(frame
, nb
, log
):
36 win
= TestPanel(nb
, log
)
39 #----------------------------------------------------------------------
43 A wx.SpinButton has two small up and down (or left and right) arrow buttons.
44 It is often used next to a text control for increment and decrementing a value.
45 Portable programs should try to use wx.SpinCtrl instead as wx.SpinButton is not
46 implemented for all platforms (Win32 and GTK only currently).
48 NB: the range supported by this control (and wx.SpinCtrl) depends on the platform
49 but is at least -0x8000 to 0x7fff. Under GTK and Win32 with sufficiently new version
50 of comctrl32.dll (at least 4.71 is required, 5.80 is recommended) the full 32 bit
55 if __name__
== '__main__':
58 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])