Scale 组件
Scale 组件跟 Scrollbar 滚动条组件很相似——都可以滚、都有滑块、都是条形……但它们的使用范围可不尽相同。Scale 组件主要是通过滑块来表示某个范围内的一个数字,可以通过修改选项设置范围以及分辨率(精度)。
当希望用户输入某个范围内的一个数值,使用 Scale 组件可以很好地代替 Entry 组件。创建一个指定范围的 Scale 组件其实非常容易,只需要指定它的 from 和 to 两个选项即可。但由于 from 本身是 Python 的关键字,所以为了区分需要在后边紧跟一个下划线,如from_。
python
import tkinter as tk
root = tk.Tk()
root.geometry('500x300')
# 刻度条 1
s1 = tk.Scale(root, from_=0, to=42)
s1.pack()
# 刻度条 2
s2 = tk.Scale(root, from_=0, to=200, orient=tk.HORIZONTAL)
s2.pack()
def show():
print(s1.get(), s2.get())
tk.Button(root, text='获取位置', command=show).pack()
root.mainloop()
使用 get() 方法可以获取当前滑块的位置
单位刻度条
可以通过 resolution 选项控制分辨率(步长),通过 tickinterval 选项设置刻度:
python
import tkinter as tk
root = tk.Tk()
root.geometry('500x300')
s1 = tk.Scale(root, from_=0, to=42, tickinterval=5, length=200, resolution=5, orient=tk.VERTICAL)
s1.pack()
s2 = tk.Scale(root, from_=0, to=200, length=600, tickinterval=10, orient=tk.HORIZONTAL)
s2.pack()
root.mainloop()