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()
    
  • 结果

    执行上述代码时,会产生以下结果 -
    TK 量表