#!/usr/bin/env python # -*-encoding:utf-8 -*- 'Crteate Slider Example' import wx class MyFrame(wx.Frame): #子类化框架对像 def __init__(self,parent,id): #定义子类构造器 wx.Frame.__init__(self,parent,id,'Slider',pos=(300,200),size=(300,200))#调用父类构造器(必须) panel=wx.Panel(self)#创建画板,控件容器 slider=wx.Slider(panel,-1,50,1,100,pos=(10,10),size=(250,-1),style=wx.SL_AUTOTICKS|wx.SL_LABELS)#创建滑块控件 slider.SetTickFreq(5,1)#滑块刻度间隔 if __name__=='__main__': app=wx.PySimpleApp()#用简单的app类创建应用程序框架 MyGUI=MyFrame(parent=None,id=-1)#实例化框架,也就是窗口 MyGUI.Show(True)#显示窗口 app.MainLoop()#进入循环
运行效果图:
附录:
通常,当你使用wx.Slider 类时,所有你所需要的就是一个构造函数,它与别的调用不同,如下所示:
wx.Slider(parent , id , value , minValue , maxValue , pos =wxDefaultPosition , size =wx.DefaultSize , style=wx.SL_HORIZONTAL , validator =wx.DefaultValidator , name ="slider ")
value 是滑块的初始值,而minValue 和maxValue 是两端的值。
使用滑块样式工作
滑块的样式管理滑块的位置和方向,如下表7.9所示。
wx.Slider 的样式
wx.SL_AUTOTICKS :如果设置这个样式,则滑块将显示刻度。刻度间的间隔通过SetTickFreq 方法来控制。
wx.SL_HORIZONTAL :水平滑块。这是默认值。
wx.SL_LABELS :如果设置这个样式,那么滑块将显示两头的值和滑块的当前只读值。有些平台可能不会显示当前值。
wx.SL_LEFT :用于垂直滑块,刻度位于滑块的左边。
wx.SL_RIGHT :用于垂直滑块,刻度位于滑块的右边。
wx.SL_TOP :用于水平滑块,刻度位于滑块的上部。
wx.SL_VERTICAL :垂直滑块。