tkinter 8 scrollbar

Reference

简介

Scrollbar(滚动条),可以单独使用,但最多的还是与其它控件(Listbox, Text, Canva, Entry, SpinBox)结合使用。该组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。

使用方法:使用滚动条的方法(垂直滚动条为例), 包括两个步骤:

属性和方法

属性

方法

实例

def test1(master=None):
    frm1 = Frame(master)
    frm1.pack(fill=X, side=TOP)
    frm2 = Frame(master, height=50, bg='grey')
    frm2.pack(fill=X, side=TOP)

    # scrollbar + text
    Label(frm1, text="Text with Scrollbar", bg='red', fg='white').pack(fill=X, side=TOP)
    tx = Text(frm1, height=5, width=30)
    tx.pack(fill=X, side=LEFT)
    sb = Scrollbar(frm1,
                   orient=VERTICAL,
                   )
    sb.pack(fill=Y, side=LEFT)
    # bind them
    tx.config(yscrollcommand=sb.set)
    sb['command'] = tx.yview

    # scrollbar + listbox
    Label(frm2, text="Listbox with Scrollbar", bg='blue', fg='white').pack(fill=X, side=TOP)
    lbx_var = StringVar()
    lbx_var.set("Python C C++ C# Java Javascript HTML CSS Ruby Perl Assembly Lua")
    lbx = Listbox(frm2, listvariable=lbx_var,
                  selectmode=MULTIPLE,
                  height=5,
                  width=30
                  )
    lbx.pack(fill=X, side='left')
    lbx.see(5)

    sb2 = Scrollbar(frm2, orient=VERTICAL)
    sb2.pack(fill=Y, side=LEFT)
    sb2.set(0.5, 1)
    # bind them
    lbx.config(yscrollcommand=sb2.set)
    sb2.config(command=lbx.yview)
Table of Contents