Python 3 - Tkinter 比例尺
-
简述
比例小部件提供了一个图形滑块对象,允许您从特定比例中选择值。 -
句法
这是创建此小部件的简单语法 -w = Scale ( master, option, ... )
-
参数
-
master− 这代表父窗口。
-
options− 这是此小部件最常用选项的列表。这些选项可以用作以逗号分隔的键值对。
序号 选项和描述 1 activebackground鼠标在刻度上时的背景颜色。2 bg小部件在槽外的部分的背景颜色。3 bd槽和滑块周围的 3-d 边框的宽度。默认值为 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,或者设置 orient = VERTICAL 以平行于 y 轴运行。默认是水平的。15 relief指定标签周围装饰性边框的外观。默认是平的;对于其他值。16 repeatdelay此选项控制在滑块开始沿该方向重复移动之前必须在槽中按住按钮 1 的时间长度。默认为repeatdelay = 300,单位为毫秒。17 resolution通常,用户只能更改整个单位的比例。将此选项设置为其他值以更改比例值的最小增量。例如,如果 from_ = -1.0 和 to = 1.0,并且设置分辨率 = 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该量表的控制变量(如果有)。控制变量可能来自类 IntVar、DoubleVar (float) 或 StringVar。在后一种情况下,数值将被转换为字符串。26 width小部件槽部分的宽度。这是垂直刻度的 x 维度,如果刻度的 orient = HORIZONTAL,则为 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()
-
结果
执行上述代码时,会产生以下结果 -