Tkinter 滚动条



此部件提供一个滑块控制器,用于实现垂直滚动部件,例如 Listbox、Text 和 Canvas。 请注意,您也可以在 Entry 部件上创建水平滚动条。

语法

以下是创建此部件的简单语法:

w = Scrollbar ( master, option, ... )

参数

  • master − 表示父窗口。

  • options − 以下是此部件最常用的选项列表。 这些选项可以用逗号分隔的键值对使用。

序号 选项 & 描述
1

activebackground

鼠标悬停在滑块和箭头上的颜色。

2

bg

鼠标未悬停在滑块和箭头上的颜色。

3

bd

槽周围整个周边的 3D 边框的宽度,也是箭头和滑块上 3D 效果的宽度。 默认情况下,槽周围没有边框,箭头和滑块周围有 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

repeatinterval

14

takefocus

通常,您可以通过 Tab 键将焦点切换到滚动条小部件。如果您不想要此行为,请将 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() 方法返回的值相同。

示例

请自行尝试以下示例:

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()

执行上述代码后,将产生以下结果:

tkinter_scrollbar
python_gui_programming.htm
广告