Python GUI 应用程序中的分层树视图
Python使用不同的 GUI 应用程序,这些应用程序在与他们正在使用的应用程序交互时对用户很有帮助。 Python基本上使用了三个 GUI,即Tkinter、wxPython 和 PyQt 。所有这些都可以在 windows、Linux 和 mac-OS 上运行。然而,这些 GUI 应用程序有许多小部件,即有助于用户与应用程序交互的控件。一些小部件是按钮、列表框、滚动条、树视图等。
注意:更多信息请参考Python GUI – tkinter
树视图小部件
此小部件有助于可视化并允许在项目层次结构上导航。它可以显示层次结构中每个项目的多个特征。它可以像在 Windows 资源管理器中一样将树视图构建为用户界面。因此,在这里我们将使用 Tkinter 来在Python GUI 应用程序中构建分层树视图。
让我们看一个在Python GUI 应用程序中构建分层树视图的示例。
GUI 如下所示:
例子:
Python
# Python program to illustrate the usage
# of hierarchical treeview in python GUI
# application using tkinter
# Importing tkinter
from tkinter import *
# Importing ttk from tkinter
from tkinter import ttk
# Creating app window
app = Tk()
# Defining title of the app
app.title("GUI Application of Python")
# Defining label of the app and calling a geometry
# management method i.e, pack in order to organize
# widgets in form of blocks before locating them
# in the parent widget
ttk.Label(app, text ="Treeview(hierarchical)").pack()
# Creating treeview window
treeview = ttk.Treeview(app)
# Calling pack method on the treeview
treeview.pack()
# Inserting items to the treeview
# Inserting parent
treeview.insert('', '0', 'item1',
text ='GeeksforGeeks')
# Inserting child
treeview.insert('', '1', 'item2',
text ='Computer Science')
treeview.insert('', '2', 'item3',
text ='GATE papers')
treeview.insert('', 'end', 'item4',
text ='Programming Languages')
# Inserting more than one attribute of an item
treeview.insert('item2', 'end', 'Algorithm',
text ='Algorithm')
treeview.insert('item2', 'end', 'Data structure',
text ='Data structure')
treeview.insert('item3', 'end', '2018 paper',
text ='2018 paper')
treeview.insert('item3', 'end', '2019 paper',
text ='2019 paper')
treeview.insert('item4', 'end', 'Python',
text ='Python')
treeview.insert('item4', 'end', 'Java',
text ='Java')
# Placing each child items in parent widget
treeview.move('item2', 'item1', 'end')
treeview.move('item3', 'item1', 'end')
treeview.move('item4', 'item1', 'end')
# Calling main()
app.mainloop()
输出:
在上面的输出中,创建了一个分层树视图。其中, GeeksforGeeks是计算机科学、GATE 论文和编程语言的父级。所有的孩子都有各自的属性。最后,此处调用 move() 方法,以便将所有子节点连接到父树。