Scrollbar 控件用于创建一个水平或垂直滚动条,可与 Listbox、Text、Canvas 等控件共同使用来移动显示的范围。Scrollbar 控件的方法如下:
| 方法 | 说明 |
|---|---|
| set(first, last) | 设置目前的显示范围,其值在 0 与 1 之间。 |
| get() | 返回目前的滚动条设置值。 |
下面的示例是创建一个列表框(60个选项),包括一个水平滚动条及一个垂直滚动条。当移动水平或垂直滚动条时,改变列表框的水平或垂直方向可见范围。
# 创建滚动条示例
from tkinter import *
# 创建主窗口
win = Tk()
# 创建一个水平滚动条
scrollbarl = Scrollbar(win, orient=HORIZONTAL)
# 水平滚动条位于窗口底端,当窗口改变大小时会在X方向填满窗口
scrollbarl.pack(side=BOTTOM, fill=X)
# 创建一个垂直滚动条
scrollbar2 = Scrollbar(win)
# 垂直滚动条位于窗口右端,当窗口改变大小时会在Y方向填满窗口
scrollbar2.pack(side=RIGHT, fill=Y)
# 创建一个列表框, x方向的滚动条指 令是scrollbarl 对象的set()方法,
# y方向的滚动条指令是scrollbar2对象的set()方法
mylist = Listbox(win, xscrollcommand=scrollbarl.set,
yscrollcommand=scrollbar2.set)
# 在列表框内插入60个选项
for i in range(60):
mylist.insert(END, "火树银花合, 星桥铁锁开。暗尘随马去,明月逐人来。" + str(i))
# 列表框位于窗口左端,当窗口改变大小时会在X与Y方向填满窗口
mylist.pack(side=LEFT, fill=BOTH)
# 移动水平滚动条时,改变列表框的x方向可见范围
scrollbarl.config(command=mylist.xview)
# 移动垂直滚动条时,改变列表框的y方向可见范围
scrollbar2.config(command=mylist.yview)
# 开始程序循环
win.mainloop()
结果如图所示:
