Освоение Python 3 Tkinter Treeview: подробное руководство с примерами кода

Готовы ли вы погрузиться в мир программирования графического интерфейса Python? Не ищите ничего, кроме мощной библиотеки Tkinter, которая предоставляет широкий спектр виджетов для создания потрясающих графических интерфейсов. В этой статье мы сосредоточимся на одном из самых универсальных виджетов Tkinter — Treeview. Независимо от того, являетесь ли вы новичком или опытным разработчиком Python, это подробное руководство познакомит вас с различными методами и примерами кода, которые помогут вам стать мастером Treeview.

  1. Создание древовидного представления.
    Давайте начнем с импорта необходимых модулей и создания базового виджета древовидного представления.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
tree = ttk.Treeview(root)
tree.pack()
  1. Добавление столбцов.
    В дереве можно отображать несколько столбцов данных. Чтобы добавить столбцы, мы используем параметр ['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')
  1. Вставка элементов.
    Чтобы заполнить древовидное представление, мы можем использовать метод insert(). Первый аргумент — это родительский элемент или пустая строка для корня, а второй аргумент — позиция индекса.
tree.insert('', 'end', text='1', values=('John Doe', 25, 'Male'))
tree.insert('', 'end', text='2', values=('Jane Smith', 30, 'Female'))
  1. Добавление дочерних элементов.
    Чтобы создать иерархическую структуру, мы можем добавить дочерние элементы под родительские элементы с помощью метода 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'))
  1. Удаление элементов.
    Чтобы удалить элемент из древовидного представления, мы можем использовать метод delete().
tree.delete(item)
  1. Редактирование элементов:
    Дерево позволяет нам напрямую редактировать значения элементов. Мы можем включить редактирование с помощью параметра ['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)
  1. Сортировка элементов.
    Мы можем сортировать Treeview на основе определенного столбца, вызывая метод sort().
tree.sort(column_name)
  1. Поиск элементов.
    Для поиска определенных элементов в древовидном представлении мы можем использовать метод set(), чтобы задать строку поиска, и вызвать метод selection()для получения. соответствующие элементы.
search_string = 'John'
tree.set('', 'SearchString', search_string)
matching_items = tree.selection()

Поздравляем! Теперь вы изучили различные методы и примеры кода для освоения виджета Tkinter Treeview в Python 3. Благодаря обширным возможностям настройки и мощным функциям вы можете создавать динамические и интерактивные графические интерфейсы в своих приложениях Python. Так что вперед, экспериментируйте с различными методами и поднимите свои навыки программирования графического интерфейса на новый уровень!