wxpython中文教程之核心部件wx.slider

发布时间:2020-09-25编辑:脚本学堂
有关wxpython核心部件wx.slider的用法,一个简单拉手 (handle) 的部件,比如打算在程序中输入顾客的年龄,对于诸如此类的目的,wx.slider 将会是一个好选择。

一个简单拉手 (handle) 的部件. 拉手可以向前或往后拉动,常用于为一个特定任务选取一个数值。
比如打算在程序中输入顾客的年龄. 对于诸如此类的目的,wx.Slider 将会是一个好选择。

专题教程:wxpython中文教程

wx.Slider 样式有:
wxSL_HORIZONTAL
wxSL_VERTICAL
wxSL_AUTOTICKS
wxSL_LABELS
wxSL_LEFT
wxSL_RIGHT
wxSL_TOP
wxSL_BOTTOM
wxSL_INVERSE

如图:
<a href=http://www.jb200.com/python/wxpythonhexinbujian/ target=_blank class=infotextkey>wxpython核心部件</a>wx.slider
wx.slider.methods

关于 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 倍.

如图:

wxpython核心部件wx.slider