Tkinter 滚动条的设计

Tkinter 滚动条的设计

在默认的环境中Listbox是没有滚动条的,但是如果选项太多,将造成部分选项无法显示,此时可将滚动条Scrollbar控件加入Listbox。

Scrollbar控件除了可以应用在Listbox上,也可以应用在Text和Canvas控件上。

Scrollbar的使用格式如下。

Scrollbar(master, options, ...)

Scrollbar()方法的第一个参数是父对象,表示这个滚动条将建立在哪一个窗口内。下列是Scrollbar( )方法内其他常用的options参数。

(1)activebackground:当光标经过滚动条时,滚动条和方向箭头的颜色。

(2)bg or background:当光标没有经过滚动条时,滚动条和方向箭头的颜色。

(3)borderwidth或bd:边界宽度,默认是两个像素。

(4)command:滚动条移动时所触发的方法。

(5)cursor:当鼠标光标在滚动条上时的光标形状。

(6)elementborderwidth:滚动条和方向箭头的外部宽度,默认是1。

(7)highlightbackground:当滚动条没有获得焦点时的颜色。

(8)highlightcolor:当滚动条获得焦点时的颜色。

(9)highlightthickness:当获得焦点时的厚度,默认是1。

(10)jump:每次短距离地拖曳滚动条时都会触发command的方法,默认是0,如果设为1则只有放开鼠标按键时才会触发command的方法。

(11)orient:可设置HORIZONTAL/VERTICAL分别是水平轴/垂直轴。

(12)repeatdelay:单位是ms,默认是300ms,可以设置按住滚动条移动的停滞时间。

(13)takefocus:正常可以用按Tab键的方式切换滚动条成为焦点,如果设为0则取消此设置。

(14)troughcolor:滚动条槽的颜色。

(15)width:滚动条宽,默认是16。

示例1

在Listbox中创建垂直滚动条。

from tkinter import *

root = Tk()
root.title("apidemos.com")        # 窗口标题  

scrollbar = Scrollbar(root)  # 创建滚动条
scrollbar.pack(side=RIGHT,fill=Y)

# 创建Listbox,yscrollcommand指向scrollbar.set方法
lb = Listbox(root,yscrollcommand=scrollbar.set)            # 建立Listbox
for i in range(50):
    lb.insert(END,"Line " + str(i))
lb.pack(side=LEFT,fill=BOTH,expand=True)

scrollbar.config(command=lb.yview)

root.mainloop()

输出:

Tkinter 滚动条的设计

第12行是将Listbox的选项参数yscrollcommand设为scrollbar.set,表示将Listbox与滚动条做连动。

第17行scrollbar.config( )方法主要是为scrollbar对象设置选择性参数内容,此例是设置command参数,也就是当移动滚动条时,会去执行所指定的方法,此例是执行Listbox对象lb的yview( )方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程