Python Tkinter Scale 小部件提供了一个图形滑块对象,允许您从特定比例中选择值。
语法
以下是创建此小部件的简单语法 -
w = Scale ( master, option, ... )
参数
- master - 这表示父窗口。
- options − 这是此小部件最常用的选项列表。这些 options 可以用作用逗号分隔的键值对。
选项 | 描述 |
---|---|
activebackground |
鼠标悬停在刻度上的背景色。 |
bg |
窗口小部件中位于槽外部部分的背景颜色。 |
bd |
槽和滑块周围的 3-D 边界的宽度。默认值为 2 像素。 |
command |
每次移动滑块时要调用的过程。此过程将传递一个参数,即新的 scale 值。如果滑块快速移动,则可能不会收到每个 可能的位置,但当它稳定时,您肯定会收到回调。 |
cursor |
如果将此选项设置为光标名称(箭头、点等),则鼠标光标在超过刻度时将更改为该模式。 |
digits |
程序读取 scale 小部件中显示的当前值的方式是通过 control 变量。刻度的控制变量可以是 IntVar、DoubleVar (float) 或 StringVar。如果它 是一个字符串变量,则 digits 选项控制将数字刻度值转换为字符串时要使用的位数。 |
font |
用于标签和注释的字体。 |
fg |
用于标签和注释的文本的颜色。 |
from_ |
定义刻度范围一端的浮点数或整数值。 |
highlightbackground |
当刻度没有焦点时,焦点的颜色会突出显示。 |
highlightcolor |
当刻度具有焦点时,焦点的颜色会突出显示。 |
label |
您可以通过将此选项设置为标签的文本,在刻度 Widget 中显示标签。如果刻度为水平,则标签显示在左上角,如果垂直,则标签显示在右上角。默认值为 no label。 |
length |
缩放 Widget 的长度。如果刻度为水平,则为 x 维度,如果垂直,则为 y 维度。默认值为 100 像素。 |
orient |
如果您希望刻度沿 x 尺寸运行,请设置 orient=HORIZONTAL,或设置 orient=VERTICAL 平行于 y 轴运行。默认值为 horizontal。 |
relief |
指定标签周围装饰性边框的外观。默认值为 FLAT;以获取其他值。 |
repeatdelay |
此选项控制在滑块开始向该方向重复移动之前必须在槽中按住按钮 1 的时间。默认值为 repeatdelay=300,单位为毫秒。 |
resolution |
通常,用户只能更改整个单位的比例。将此选项设置为其他值,以更改缩放值的最小增量。例如,如果 from_=-1.0 且 to=1.0,并且设置 resolution=0.5,则缩放将有 5 个可能的值:-1.0、-0.5、0.0、+0.5 和 +1.0。 |
showvalue |
通常,刻度的当前值由滑块以文本形式显示(在滑块上方为水平刻度,向左为垂直刻度)。将此选项设置为 0 可隐藏该标签。 |
sliderlength |
通常,滑块沿刻度长度为 30 像素。您可以通过将 sliderlength 选项设置为所需的长度来更改该长度。 |
state |
通常,缩放小部件会响应鼠标事件,当它们具有焦点时,还会响应键盘事件。设置 state=DISABLED 以使 widget 无响应。 |
takefocus |
通常,焦点将在 scale 小部件之间循环。如果您不希望此行为,请将此选项设置为 0。 |
tickinterval |
要显示周期性的刻度值,请将此选项设置为一个数字,刻度将按该值的倍数显示。例如,如果 from_=0.0、to=1.0 和 tickinterval=0.25,则标签将为 沿刻度以 0.0、0.25、0.50、0.75 和 1.00 的值显示。如果水平,则这些标签显示在刻度的下方,如果垂直,则显示在刻度的左侧。默认值为 0,这将禁止显示刻度。 |
to |
定义刻度范围一端的 float 或 integer 值;另一端由上面讨论的 from_ 选项定义。to 值可以大于或小于 from_ 价值。对于垂直刻度,to 值定义刻度的底部;对于水平刻度,为右端。 |
troughcolor |
槽的颜色。 |
variable |
此刻度的控制变量(如果有)。控制变量可以来自类 IntVar、DoubleVar (float) 或 StringVar。在后一种情况下,数值将转换为字符串。 |
width |
小部件的槽部分的宽度。这是垂直刻度的 x 维度和 y 维度(如果刻度具有 orient=HORIZONTAL)。默认值为 15 像素。 |
方法
Scale 对象具有以下方法 -
方法 | 描述 |
---|---|
get() |
此方法返回刻度的当前值。 |
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()
执行上述代码时,它会生成以下 resul -
