Tkinter 滑块
滑块部件提供了一个图形滑块对象,允许您从特定刻度中选择值。
语法
下面是创建此部件的简单语法 –
w = Scale ( master, option, ... )
参数
- master − 这表示父窗口。
-
options − 这是该小部件最常用选项的列表。这些选项可以用逗号分隔的键值对方式使用。
序号 | 选项和描述 |
---|---|
1 | activebackground 当鼠标悬停在刻度上时的背景颜色。 |
2 | bg 尺度部件外部的背景颜色。 |
3 | bd 在尺度和滑块周围的3D边框的宽度。默认为2像素。 |
4 | command 每次滑块移动时调用的过程。此过程将传递一个参数,即新的比例值。如果滑块移动得很快,您可能无法获得每个可能的位置的回调,但当它稳定下来时,您肯定会得到一个回调。 |
5 | cursor 如果将此选项设置为光标名称(arrow,dot等),当光标悬停在刻度上时,鼠标光标将更改为该模式。 |
6 | digits 控制变量是程序读取“scale”部件当前显示值的方式。“scale”的控制变量可以为IntVar,DoubleVar(浮点数)或StringVar。如果是字符串变量,则“digits”选项控制将数字“scale”值转换为字符串时使用的位数。 |
7 | font 标签和注释所使用的字体。 |
8 | fg 标签和注释文本的颜色。 |
9 | from_ 浮点数或整数值,定义“scale”范围的一端。 |
10 | highlightbackground 当“scale”没有焦点时,焦点高亮的颜色。 |
11 | highlightcolor 当滑块获取焦点时,焦点高亮的颜色。 |
12 | label 通过将此选项设置为标签的文本,您可以在刻度部件中显示一个标签。如果刻度是水平的,则标签显示在左上角;如果是垂直的,则显示在右上角。默认没有标签。 |
13 | length 刻度部件的长度。如果刻度是水平的,则长度是x轴的维度;如果是垂直的,则是y轴的维度。默认为100个像素。 |
14 | orient 如果您希望刻度沿着x轴运行,请设置orient=HORIZONTAL;如果希望沿y轴平行运行,请设置orient=VERTICAL。默认为水平方向。 |
16 | repeatdelay 此选项控制在槽中按住按钮1多久后,滑块开始以该方向重复移动。默认值为repeatdelay=300,单位为毫秒。 |
17 | resolution 通常,用户只能以整数单位更改刻度。将此选项设置为其他值以改变刻度值的最小增量。例如,如果from_=-1.0 和 to=1.0,并且您设置resolution=0.5,则刻度将有5个可能的值:-1.0、-0.5、0.0、+0.5 和+1.0。 |
18 | showvalue 通常,滑块显示刻度的当前值(水平刻度在其上方,垂直刻度在左侧)。将此选项设置为0可取消显示该标签。 |
19 | sliderlength 通常,滑块长度为30像素。您可以通过将sliderlength选项设置为所需长度来更改该长度。 |
20 | state 通常,刻度小部件会响应鼠标事件,并且在它们具有焦点时还会响应键盘事件。将state = DISABLED设置为使小部件无响应。 |
21 | takefocus 通常,焦点将在刻度小部件之间循环。如果不希望出现此行为,请将此选项设置为0。 |
22 | tickinterval 要显示定期刻度值,将此选项设置为一个数字,刻度线将显示在该值的倍数上。例如,如果 from_=0.0,to=1.0,tickinterval=0.25,则标签将显示在刻度线上,其值为0.0、0.25、0.50、0.75和1.00。如果是水平的,则这些标签显示在刻度线下方,如果是垂直的,则显示在其左侧。默认为0,表示不显示刻度线。 |
23 | to 定义刻度范围的一个端点的浮点数或整数值;另一个端点由上述的 from_ 选项定义。to 值可以大于或小于 from_ 值。对于垂直刻度,to 值定义刻度的底部;对于水平刻度,定义右端。 |
24 | troughcolor 槽的颜色。 |
25 | variable 控制这个scale的变量,如果有的话。控制变量可以是IntVar、DoubleVar(浮点数)或者StringVar的实例。在后一种情况下,数值将会被转换为字符串。 |
26 | width 控件的槽的宽度。对于垂直scale来说,这是x方向的尺寸,如果scale的orient=HORIZONTAL,则是y方向的尺寸。默认为15像素。 |
方法
比例对象有以下方法:
序号 | 方法 & 描述 |
---|---|
1 | get() 该方法返回比例尺的当前值。 |
2 | set ( value ) 设置比例尺的值。 |
示例
试试以下示例自己操作 –
from tkinter import *
def sel():
selection = "Value = " + str(var.get())
label.config(text = selection)
root = Tk()
var = DoubleVar()
scale = Scale( root, variable = var )
scale.pack(anchor=CENTER)
button = Button(root, text="Get Scale Value", command=sel)
button.pack(anchor=CENTER)
label = Label(root)
label.pack()
root.mainloop()
当上述代码被执行时,它产生以下结果 –