Scale:尺度,即可输出限定范围的数字区间,可以为之指定最大值,最小值及距值。
语法
s=Scale(master,from_=...,to=...,orient=...,tickinterval=...,command=...)
参数
master:当前父窗口
from_:设置起始值,即最小值 to:设置最大值
orient:设置尺度的方向,水平或垂直
tickinterval:设置距值 command:设置响应函数
这里将做一个实时显示尺度滑块所处的标尺值,值得注意的是这里用到command设置响应函数,这个回调函数有一个参数,这个值是当前的Scale的值,每移动一个步距就会调用一次这个函数。
代码如下
import tkinter as tk
window=tk.Tk()
window.title('my window')
window.geometry('200x200')
l=tk.Label(window,bg='pink',width=20)
l.pack()
def print_selection(v):
l.config(text='you have selected '+v)
s=tk.Scale(window,label='请尝试拖动改变尺度',from_=5,to=11,orient=tk.HORIZONTAL,
length=200,showvalue=0,tickinterval=3,resolution=0.01,command=print_selection)
#这里的orient设置为水平方向尺度,200是像素高度,resolution设置尺度的精确到两位小数
s.pack()
window.mainloop() #这里是相当于while的无限循环