📜  Python-Tkinter Treeview 滚动条

📅  最后修改于: 2022-05-13 01:55:16.850000             🧑  作者: Mango

Python-Tkinter Treeview 滚动条

Python有多种构建 GUI 的选项, Python tkinter 就是其中之一。它是Python的标准GUI库,有助于轻松制作 GUI 应用程序。它为tk GUI 工具包提供了一个高效的面向对象接口。它还有多个控件,称为小部件,如文本框、滚动条、按钮等。此外,Tkinter 有一些几何管理方法,即pack()、grid() 和 place() ,它们有助于组织小部件。
注意:更多信息请参考Python GUI – tkinter

树视图滚动条

当滚动条使用树视图小部件时,该类型的滚动条称为树视图滚动条。其中,树视图小部件有助于以列的形式将树中列出的每个项目的多个特征显示在树的右侧。但是,它可以在 tkinter 支持的一些小部件和几何管理方法的帮助下在Python中使用 tkinter 来实现。
下面的例子说明了Treeview Scrollbar使用 Python-tkinter 的用法:
示例 1:

Python
# Python program to illustrate the usage of
# treeview scrollbars using tkinter
 
 
from tkinter import ttk
import tkinter as tk
 
# Creating tkinter window
window = tk.Tk()
window.resizable(width = 1, height = 1)
 
# Using treeview widget
treev = ttk.Treeview(window, selectmode ='browse')
 
# Calling pack method w.r.to treeview
treev.pack(side ='right')
 
# Constructing vertical scrollbar
# with treeview
verscrlbar = ttk.Scrollbar(window,
                           orient ="vertical",
                           command = treev.yview)
 
# Calling pack method w.r.to vertical
# scrollbar
verscrlbar.pack(side ='right', fill ='x')
 
# Configuring treeview
treev.configure(xscrollcommand = verscrlbar.set)
 
# Defining number of columns
treev["columns"] = ("1", "2", "3")
 
# Defining heading
treev['show'] = 'headings'
 
# Assigning the width and anchor to  the
# respective columns
treev.column("1", width = 90, anchor ='c')
treev.column("2", width = 90, anchor ='se')
treev.column("3", width = 90, anchor ='se')
 
# Assigning the heading names to the
# respective columns
treev.heading("1", text ="Name")
treev.heading("2", text ="Sex")
treev.heading("3", text ="Age")
 
# Inserting the items and their features to the
# columns built
treev.insert("", 'end', text ="L1",
             values =("Nidhi", "F", "25"))
treev.insert("", 'end', text ="L2",
             values =("Nisha", "F", "23"))
treev.insert("", 'end', text ="L3",
             values =("Preeti", "F", "27"))
treev.insert("", 'end', text ="L4",
             values =("Rahul", "M", "20"))
treev.insert("", 'end', text ="L5",
             values =("Sonu", "F", "18"))
treev.insert("", 'end', text ="L6",
             values =("Rohit", "M", "19"))
treev.insert("", 'end', text ="L7",
             values =("Geeta", "F", "25"))
treev.insert("", 'end', text ="L8",
             values =("Ankit", "M", "22"))
treev.insert("", 'end', text ="L10",
             values =("Mukul", "F", "25"))
treev.insert("", 'end', text ="L11",
             values =("Mohit", "M", "16"))
treev.insert("", 'end', text ="L12",
             values =("Vivek", "M", "22"))
treev.insert("", 'end', text ="L13",
             values =("Suman", "F", "30"))
 
# Calling mainloop
window.mainloop()


输出:

在上面的程序中,我们使用了几何管理方法的pack()方法。而且,我们根据代码的要求只构建了垂直滚动条,但您可以根据您的要求构建两个条。此外,这里使用锚点来定义文本的位置。但是,您也可以使用其他几何管理方法来构建树视图滚动条。