Python 3 - Tkinter 滚动条

  • 简述

    这个小部件提供了一个滑动控制器,用于实现垂直滚动的小部件,例如列表框、文本和画布。请注意,您还可以在 Entry 小部件上创建水平滚动条。
  • 句法

    这是创建此小部件的简单语法 -
    
     w = Scrollbar ( master, option, ... )
    
  • 参数

    • master− 这代表父窗口。
    • options− 这是此小部件最常用选项的列表。这些选项可以用作以逗号分隔的键值对。
    序号 选项和描述
    1
    activebackground
    鼠标悬停在滑块和箭头上时的颜色。
    2
    bg
    鼠标不在滑块和箭头上方时的颜色。
    3
    bd
    槽的整个周长周围的 3-d 边界的宽度,以及箭头和滑块上的 3-d 效果的宽度。默认情况下,槽周围没有边框,箭头和滑块周围有 2 像素的边框。
    4
    command
    滚动条移动时调用的过程。
    5
    cursor
    当鼠标悬停在滚动条上时出现的光标。
    6
    elementborderwidth
    箭头和滑块周围的边框宽度。默认是elementborderwidth = -1,表示使用borderwidth选项的值。
    7
    highlightbackground
    滚动条没有焦点时焦点高亮的颜色。
    8
    highlightcolor
    滚动条有焦点时焦点高亮的颜色。
    9
    highlightthickness
    焦点高光的厚度。默认值为 1。设置为 0 以抑制焦点突出显示。
    10
    jump
    此选项控制用户拖动滑块时发生的情况。通常(jump = 0),滑块的每次小拖动都会导致调用命令回调。如果将此选项设置为 1,则在用户释放鼠标按钮之前不会调用回调。
    11
    orient
    为水平滚动条设置 orient = HORIZONTAL,为垂直滚动条设置 orient = VERTICAL。
    12
    repeatdelay
    此选项控制在滑块开始沿该方向重复移动之前必须在槽中按住按钮 1 的时间长度。默认为repeatdelay = 300,单位为毫秒。
    13
    repeatinterval
    重复间隔
    14
    takefocus
    通常,您可以通过滚动条小部件来标记焦点。如果您不想要这种行为,请设置 takefocus = 0。
    15
    troughcolor
    槽的颜色。
    16
    width
    滚动条的宽度(如果是水平的,它的 y 维度,如果是垂直的,它的 x 维度)。默认值为 16。
  • 方法

    滚动条对象有这些方法 -
    序号 方法及说明
    1
    get()
    返回描述滑块当前位置的两个数字 (a, b)。a 值给出滑块左边缘或上边缘的位置,分别用于水平和垂直滚动条;b 值给出右边缘或底边缘的位置。
    2
    set ( first, last )
    要将滚动条连接到另一个小部件 w,请将 w 的 xscrollcommand 或 yscrollcommand 设置为滚动条的 set() 方法。参数与 get() 方法返回的值具有相同的含义。
  • 例子

    自己尝试以下示例 -
    
    # !/usr/bin/python3
    from tkinter import *
    root = Tk()
    scrollbar = Scrollbar(root)
    scrollbar.pack( side = RIGHT, fill = Y )
    mylist = Listbox(root, yscrollcommand = scrollbar.set )
    for line in range(100):
       mylist.insert(END, "This is line number " + str(line))
    mylist.pack( side = LEFT, fill = BOTH )
    scrollbar.config( command = mylist.yview )
    mainloop()
    
  • 结果

    执行上述代码时,会产生以下结果 -
    TK 滚动条