Python использует различные графические приложения, которые полезны пользователям при взаимодействии с используемыми ими приложениями. В основном существует три графических интерфейса, которые использует python, а именно Tkinter, wxPython и PyQt. Все они могут работать с Windows, Linux и mac-OS. Однако эти приложения с графическим интерфейсом имеют множество виджетов, т. Е. элементов управления, которые полезны для взаимодействия пользователя с приложением. Некоторые из виджетов-это кнопки, списки, полоса прокрутки, просмотр деревьев и т. д.
Примечание: Для получения дополнительной информации см. к графическому интерфейсу Python – tkinter
Виджеты Treeview
Этот виджет полезен для визуализации и обеспечения навигации по иерархии элементов. Он может отображать более одной функции для каждого элемента в иерархии. Он может создавать представление в виде дерева в качестве пользовательского интерфейса, как в проводнике Windows. Поэтому здесь мы будем использовать Tkinter для построения иерархического представления деревьев в графическом приложении Python.
Давайте рассмотрим пример построения иерархическое древовидное представление в приложении с графическим интерфейсом 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() для подключения всех дочерних элементов к родительскому дереву.