Python Tkinter Scrollbar



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

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

tkinter_scrollbar