Tkinter 中的 Scale 控件是一种可供用户通过拖动指示器改变变量值的控件. 这种控件可以水平放置, 也可以竖直放置.
可以在用户界面中放置一个 Scale 控件, 用户通过拖动该控件就可以在某个取值范围内选择一个合适的值. Scale 控件可以设置最大最小值以确定取值范围. 我们也可以改变 Scale 控件的放置方式, 使其水平或竖直放置. 当需要用户在一个范围内选择一个值时, Scale 控件比 Entry 控件更合适.
简单程序:
from Tkinter import *
root=Tk()
Scale(root).pack()
root.mainloop()
默认的情况:最小值0,最大值100,步长为1
from Tkinter import *
root=Tk()
root.geometry('200x200')
Scale(root,from_=-1000,to=1000,resolution=10,orient=HORIZONTAL).pack()
root.mainloop()
from_ , 设置最大值;to , 设置最小值;resolution , 设置步距值;orient = HORIZONTAL # 设置水平方向from Tkinter import *
root=Tk()
root.geometry('200x100')
v=IntVar()
Entry(root,textvariable=v,width=6).pack()
# variable = v #绑定变量
Scale(root,from_=-1000,to=1000,resolution=10,orient=HORIZONTAL,variable=v).pack()
root.mainloop()
from Tkinter import *
root=Tk()
root.geometry('200x100')
v=IntVar()
def CallOn(text):
return text
Entry(root,textvariable=str(CallOn(v)),width=6).pack()
# variable = v #绑定变量
Scale(root,from_=-1000,to=1000,resolution=10,orient=HORIZONTAL,variable=v,command=CallOn).pack()
root.mainloop()
from Tkinter import *
root=Tk()
root.geometry('200x100')
v=IntVar()
def CallOn(text):
return text
Entry(root,textvariable=str(CallOn(v)),width=8).pack()
# variable = v #绑定变量
Scale(root,from_=0,to=100,resolution=0.0001,orient=HORIZONTAL,variable=v,command=CallOn,digits=8).pack()
root.mainloop()
from Tkinter import *
root=Tk()
root.geometry('200x100')
v=IntVar()
def CallOn(text):
return text
Entry(root,textvariable=str(CallOn(v)),width=8).pack()
# variable = v #绑定变量
Scale(root,label='choice',from_=0,to=100,resolution=0.0001,orient=HORIZONTAL,variable=v,command=CallOn,digits=8).pack()
root.mainloop()
from Tkinter import *
root=Tk()
root.geometry('200x100')
v=IntVar()
def CallOn(text):
print S.get()
S=Scale(root,label='choice',from_=0,to=100,resolution=0.0001,orient=HORIZONTAL,variable=v,digits=8,command=CallOn)
#初始值
S.set(50)
S.pack()
root.mainloop()
from Tkinter import *
root=Tk()
root.geometry('500x100')
v=IntVar()
def CallOn(text):
print S.get()
S=Scale(root,label='choice',from_=0,to=100,tickinterval=6,orient=HORIZONTAL,variable=v,command=CallOn,length=300)
#初始值
S.set(50)
S.pack()
root.mainloop()