#!/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 :垂直滑块。