Python Tkinter Scrollbar,此小部件提供了一个滑动控制器,用于实现垂直滚动的 Widget,例如 Listbox、Text 和 Canvas。请注意,您还可以在 Entry 小部件上创建水平滚动条。
语法
以下是创建此小部件的简单语法 -
w = Scrollbar ( master, option, ... )
参数
- master - 这表示父窗口。
- options − 这是此小部件最常用的选项列表。这些 options 可以用作用逗号分隔的键值对。
选项 | 描述 |
---|---|
activebackground |
鼠标悬停在滑块和箭头上时它们的颜色。 |
bg |
当鼠标不在滑块和箭头上时它们的颜色。 |
bd |
围绕槽的整个周长的 3-d 边界的宽度,以及箭头和滑块上的 3-d 效果的宽度。默认值为槽周围无边框,箭头和滑块周围为 2 像素的边框。 |
command |
每当移动滚动条时要调用的过程。 |
cursor |
当鼠标悬停在滚动条上时出现的光标。 |
elementborderwidth |
箭头和滑块周围边框的宽度。默认值为 elementborderwidth=-1,这意味着使用 borderwidth 选项的值。 |
highlightbackground |
当滚动条没有焦点时,焦点的颜色会突出显示。 |
highlightcolor |
当滚动条具有焦点时,焦点的颜色会突出显示。 |
highlightthickness |
焦点高光的粗细。默认值为 1。设置为 0 可禁止显示焦点高亮显示。 |
jump |
此选项控制用户拖动滑块时发生的情况。通常 (jump=0),每次小拖动滑块都会导致命令回调被调用。如果将此选项设置为 1,则在用户释放鼠标按钮之前不会调用回调。 |
orient |
为水平滚动条设置 orient=HORIZONTAL,为垂直滚动条设置 orient=VERTICAL。 |
repeatdelay |
此选项控制在滑块开始向该方向重复移动之前必须在槽中按住按钮 1 的时间。默认值为 repeatdelay=300,单位为毫秒。 |
repeatinterval |
repeatinterval |
takefocus |
通常,您可以通过滚动条小部件来选择焦点。如果您不希望此行为,请设置 takefocus=0。 |
troughcolor |
槽的颜色。 |
width |
滚动条的宽度(如果水平,则为 y 维度,如果垂直,则为 x 维度)。默认值为 16。 |
方法
Scrollbar 对象具有以下方法 -
方法 | 描述 |
---|---|
get() |
返回两个数字 (a, b) ,用于描述滑块的当前位置。a 值分别给出了水平和垂直滚动条的滑块左边缘或上边缘的位置;B 值提供右边缘或下边缘的位置。 |
set ( first, last ) |
要将滚动条连接到另一个小部件 w,请将 w 的 xscrollcommand 或 yscrollcommand 设置为滚动条的 set() 方法。参数与 get() 方法返回的值具有相同的含义。 |
例
请自行尝试以下示例 -
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()
执行上述代码时,它会产生以下结果 -
