You are currently viewing Иерархический просмотр деревьев в графическом приложении Python

Иерархический просмотр деревьев в графическом приложении Python

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() для подключения всех дочерних элементов к родительскому дереву.