一个简单拉手 (handle) 的部件. 拉手可以向前或往后拉动,常用于为一个特定任务选取一个数值。
比如打算在程序中输入顾客的年龄. 对于诸如此类的目的,wx.Slider 将会是一个好选择。
专题教程:wxpython中文教程
wx.Slider 样式有:
wxSL_HORIZONTAL
wxSL_VERTICAL
wxSL_AUTOTICKS
wxSL_LABELS
wxSL_LEFT
wxSL_RIGHT
wxSL_TOP
wxSL_BOTTOM
wxSL_INVERSE
关于 pageSize – 指用户在往上或往下翻页时,滑块跳动多少步 (steps).
例子:
 
#!/usr/bin/python
#coding=utf-8
#gauge.py
import wx
class MyFrame(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, 
                          (300, 150))
        panel=wx.Panel(self, -1)
        
        vbox=wx.BoxSizer(wx.VERTICAL)
        hbox=wx.BoxSizer(wx.HORIZONTAL)
        
        self.sld = wx.Slider(panel, -1, 200, 150, 500, wx.DefaultPosition, 
                             (250, -1), 
                             wx.SL_AUTOTICKS | wx.SL_HORIZONTAL | wx.SL_LABELS)
        self.sld.SetPageSize(5)
        btn1 = wx.Button(panel, 8, '调 整')
        btn2 = wx.Button(panel, 9, '关 闭')
        
        wx.EVT_BUTTON(self, 8, self.OnAdjust)
        wx.EVT_BUTTON(self, 9, self.OnClose)
        vbox.Add(self.sld, 1, wx.ALIGN_CENTER)
        hbox.Add(btn1, 1, wx.RIGHT, 10)
        hbox.Add(btn2, 1)
        vbox.Add(hbox, 0, wx.ALIGN_CENTER | wx.ALL, 20)
        panel.SetSizer(vbox)
        
    def OnAdjust(self, event):
        val = self.sld.GetValue()
        
        self.SetSize((val*2, val))
        
    def OnClose(self, event):
        self.Close()
        
class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, 'slider.py')
        frame.Show(True)
        frame.Center()
        return True
    
app = MyApp(0)
app.MainLoop()
 
本例中,一个滑块以及两个按钮. 滑块的初始位置设置为 200. 
其最小值为 150,最大值为 500. 在点击调整按钮时,框架大小就会改变. 其高度设置为滑块选择值,宽度为该值的 2 倍.
如图:
