Python 3 – Tkinter 的 Scale 控件
Scale 控件提供了一个图形化的滑块对象,让你可以从指定的刻度上选择值。
语法
下面是创建此控件的简单语法 −
w = Scale ( master, option, ... )
参数
- master − 这表示父窗口。
-
options − 这是最常用的选项列表。这些选项可以用逗号分隔的键值对表示。
表格边框为虚线的表格
序号 | 选项及描述 |
---|---|
1 | activebackground 鼠标悬浮于刻度上方时的背景颜色。 |
2 | bg 滑动条外部部分的背景颜色。 |
3 | bd 滑动条和滑块周围3D边框的宽度。默认为2像素。 |
4 | command 该过程每次滑块移动时都会被调用。此过程将传递一个参数,即新的刻度值。如果滑块快速移动,则可能没有每个可能的位置的回调,但当其停止时,肯定会获得回调。 |
5 | cursor 如果将此选项设置为光标名称(箭头,点等),则当光标位于刻度上方时,鼠标光标将更改为该模式。 |
6 | digits 您的程序读取显示在刻度部件上的当前值的方式是通过控件变量完成的。刻度的控件变量可以是IntVar,DoubleVar(浮点数)或StringVar。如果它是一个字符串变量,则digits选项控制将数字刻度值转换为字符串时使用的位数。 |
7 | font 标签和注释使用的字体。 |
8 | fg 用于标签和注释的文本颜色。 |
9 | from_ 定义刻度范围的浮点或整数值的一端。 |
10 | highlightbackground 当刻度没有焦点时的聚焦高亮的颜色。 |
11 | highlightcolor 当刻度具有焦点时的聚焦高亮的颜色。 |
12 | label 您可以通过将此选项设置为标签文本来在刻度部件中显示标签。如果刻度是水平的,则标签显示在左上角,如果是垂直的,则显示在右上角。默认没有标签。 |
13 | length 刻度部件的长度。如果刻度是水平的,则为x维度,如果是垂直的,则为y维度。默认为100像素。 |
14 | orient 如果要使刻度沿x维度运行,则设置orient = HORIZONTAL;如果要使其平行于y轴,则设置orient = VERTICAL。默认为水平。 |
15 | relief 指定标签周围装饰性边框的外观。默认为FLAT;其他值。 |
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 通常,比例尺小部件会响应鼠标事件,并且当它们获得焦点时,还会响应键盘事件。将状态设置为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 控制此比例尺的控件变量(如果有)。控件变量可以是IntVar类、DoubleVar(浮点数)或StringVar。在后一种情况下,数值将转换为字符串。 |
26 | width 小部件槽部分的宽度。这是垂直刻度的x维度和水平刻度的y维度。默认值为15像素。 |
方法
比例尺对象拥有以下方法 −
序号 | 方法及其描述 |
---|---|
get() | 该方法返回比例尺的当前值。 |
set ( value ) | 设置比例尺的值。 |
示例
请尝试以下示例 −
# !/usr/bin/python3
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()
结果
当执行上述代码时,它产生以下结果 −