Готовы ли вы погрузиться в мир программирования графического интерфейса Python? Не ищите ничего, кроме мощной библиотеки Tkinter, которая предоставляет широкий спектр виджетов для создания потрясающих графических интерфейсов. В этой статье мы сосредоточимся на одном из самых универсальных виджетов Tkinter — Treeview. Независимо от того, являетесь ли вы новичком или опытным разработчиком Python, это подробное руководство познакомит вас с различными методами и примерами кода, которые помогут вам стать мастером Treeview.
- Создание древовидного представления.
Давайте начнем с импорта необходимых модулей и создания базового виджета древовидного представления.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
tree = ttk.Treeview(root)
tree.pack()
- Добавление столбцов.
В дереве можно отображать несколько столбцов данных. Чтобы добавить столбцы, мы используем параметр['column_name']
.
tree['columns'] = ('Name', 'Age', 'Gender')
tree.heading('#0', text='ID')
tree.heading('Name', text='Name')
tree.heading('Age', text='Age')
tree.heading('Gender', text='Gender')
- Вставка элементов.
Чтобы заполнить древовидное представление, мы можем использовать методinsert()
. Первый аргумент — это родительский элемент или пустая строка для корня, а второй аргумент — позиция индекса.
tree.insert('', 'end', text='1', values=('John Doe', 25, 'Male'))
tree.insert('', 'end', text='2', values=('Jane Smith', 30, 'Female'))
- Добавление дочерних элементов.
Чтобы создать иерархическую структуру, мы можем добавить дочерние элементы под родительские элементы с помощью методаinsert()
.
parent_item = tree.insert('', 'end', text='1', values=('John Doe', 25, 'Male'))
tree.insert(parent_item, 'end', text='1.1', values=('Child 1', 5, 'Male'))
tree.insert(parent_item, 'end', text='1.2', values=('Child 2', 8, 'Female'))
- Удаление элементов.
Чтобы удалить элемент из древовидного представления, мы можем использовать методdelete()
.
tree.delete(item)
- Редактирование элементов:
Дерево позволяет нам напрямую редактировать значения элементов. Мы можем включить редактирование с помощью параметра['show']
и привязать функцию к событию<<TreeviewSelect>>
.
tree['show'] = 'headings'
def edit_item(event):
item = tree.selection()[0]
tree.focus(item)
tree.item(item, values=('New Value',))
tree.bind('<<TreeviewSelect>>', edit_item)
- Сортировка элементов.
Мы можем сортировать Treeview на основе определенного столбца, вызывая методsort()
.
tree.sort(column_name)
- Поиск элементов.
Для поиска определенных элементов в древовидном представлении мы можем использовать методset()
, чтобы задать строку поиска, и вызвать методselection()
для получения. соответствующие элементы.
search_string = 'John'
tree.set('', 'SearchString', search_string)
matching_items = tree.selection()
Поздравляем! Теперь вы изучили различные методы и примеры кода для освоения виджета Tkinter Treeview в Python 3. Благодаря обширным возможностям настройки и мощным функциям вы можете создавать динамические и интерактивные графические интерфейсы в своих приложениях Python. Так что вперед, экспериментируйте с различными методами и поднимите свои навыки программирования графического интерфейса на новый уровень!