10、滚动条Scrollbar

Scrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。

如下面例子,给Text控件加滚动条,当 Text 组件的可视范围发生改变的时候,Text 组件通过调用 set() 方法通知 Scrollbar 组件。而当用户操纵滚动条的时候,将自动调用 Text 组件的 yview() 方法。

import tkinter as tk
 
root = tk.Tk()

# 创建Text
text = tk.Text(root,width=20,height=5)
text.pack(side='left',fill='both')

# 创建滚动条
sc = tk.Scrollbar(root)
sc.pack(side='right',fill='y')

# 滚动条绑定 Text
sc.config(command=text.yview)
# Text绑定
text.config(yscrollcommand=sc.set)

root.mainloop()

image-20250415133920782

属性

选项 含义
activebackground 1. 指定当鼠标在上方飘过的时候滑块和箭头的背景颜色; 2. 默认值由系统指定
activerelief 1. 指定当鼠标在上方飘过的时候滑块的样式; 2. 默认值是 "raised" 3. 可以选择 "flat","sunken","groove","ridge"
background 1. 指定背景颜色; 2. 默认值由系统指定
bg 跟 background 一样
borderwidth 1. 指定边框宽度 ;2. 默认值是 0
bd 跟 borderwidth 一样
command 1. 当滚动条更新时回调的函数 ;2. 通常的是指定对应组件的 xview() 或 yview() 方法
cursor 1. 指定当鼠标在上方飘过的时候的鼠标样式 ;2. 默认值由系统指定
elementborderwidth 1. 指定滚动条和箭头的边框宽度 ;2. 默认值是 -1(表示使用 borderwidth 选项的值)
highlightbackground 1. 指定当滚动条没有获得焦点的时候高亮边框的颜色; 2. 默认值由系统指定
highlightcolor 1. 指定当滚动条获得焦点的时候高亮边框的颜色; 2. 默认值由系统指定
highlightthickness 1. 指定高亮边框的宽度 ;2. 默认值是 0(不带高亮边框)
jump 1. 指定当用户拖拽滚动条时的行为; 2. 默认值是 False,滚动条的任何一丝变动都会即刻调用 command 选项指定的回调函数; 3. 设置为 True 则当用户松开鼠标才调用
orient 1. 指定绘制 "horizontal"(垂直滚动条)还是 "vertical"(水平滚动条); 2. 默认值是 VERTICAL
relief 1. 指定边框样式; 2. 默认值是 "sunken"; 3. 可以选择 "flat","raised","groove","ridge"
repeatdelay 1. 该选项指定鼠标左键点击滚动条凹槽的响应时间 ;2. 默认值是 300(毫秒)
repeatinterval 1. 该选项指定鼠标左键紧按滚动条凹槽时的响应间隔 ;2. 默认值是 100(毫秒)
takefocus 1. 指定使用 Tab 键可以将焦点移到该 Scrollbar 组件上 ;2. 默认是开启的,可以将该选项设置为 False 避免焦点在此组件上
troughcolor 1. 指定凹槽的颜色 ;2. 默认值由系统指定
width 1. 指定滚动条的宽度 ;2. 默认值是 16 像素

方法