Slider 滑块是可以通过拖动完成设置的元素,可以设定滑块的最小值(最左边或者最下面的代码的值)和最大值(最右边或者最上面代码的值),而且可以设置步长。
下面是 Slider 的初始化函数定义:
- Slider(parent, # 父元素
- id=ID_ANY, # id,可以为-1
- value=0, # 初始值
- minValue=0, # 最小值
- maxValue=100, # 最大值
- pos=DefaultPosition, # 位置
- size=DefaultSize, # 大小
- style=SL_HORIZONTAL, # 风格,横向,纵向
- validator=DefaultValidator, # 检查值的有效性函数
- name=SliderNameStr)
下面的例子演示了一个窗口包含两个滑块的情况:
- import wx
- class SliderFrameDemo1(wx.Frame):
- def __init__(self):
- wx.Frame.__init__(self, None, -1,
- 'Slider演示1',
- size=(300, 350))
- panel = wx.Panel(self, -1)
- self.count = 0
- slider1 = wx.Slider(panel,
- -1, # id
- 25, # 当前值
- 1, # 最小值
- 100, # 最大值
- pos=(20, 20), # 位置
- size=(250, -1), # 大小
- # 水平滑块,wx.SL_HORIZONTAL表明这是水平滑块
- style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS )
- slider1.SetTickFreq(5)
- slider2 = wx.Slider(panel,
- -1,
- 25,
- 1,
- 100,
- pos=(125, 70),
- size=(-1, 250),
- # 垂直滑块,wx.SL_VERTICAL表示这是垂直滑块
- style=wx.SL_VERTICAL | wx.SL_AUTOTICKS )
- slider2.SetTickFreq(220)
- if __name__ == '__main__':
- app = wx.App()
- frame = SliderFrameDemo1()
- frame.Show(True)
- app.MainLoop()
运行该程序后,可以看到图 1 所示的窗口。