Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Представление иеррахической структуры с помощью класса ttk.Treeview
Сегодня начнём работать с интересным классом Treeview. С помощью него создавать и древовидные структуры и таблицы. Непосредственно в библиотеке tkinter его нет, будем брать его из пакета ttk. По объектам Treeview у нас будет несколько статей.
Ниже (рисунок 1) представлена программа создающая окно, а в нём объект Treeview. Программа демонстрирует возможности создания иерархической структуры. Показана обработка события выбора элемента и способа удаления элемента из дерева.
Пояснения к программе
- В начале создаётся объект - дерево ttk.Treeview(self, show="tree"). Затем объект помещается и отображается в окне (pack()).
- Добавляется элемент в дерево с помощью метода insert(). Первым параметром идёт либо "" - корень дерева, или идентификатор родителя. Параметр index указывает на то, куда добавлять элемент: tk.END - в конец. text - название элемента. iid - идентификатор элемента.
- В программе обрабатываются два события: выбор элемента - <<TreeviewSelect>>, название выбранного элемента отображается в заголовке окна. Также обрабатывается нажатие клавиши del (код 119), при нажатии которой появляется возможность удалить элемент.
- Для получения идентификатора выбранного элемента используется ttk.Treeview.focus().
- Объект - элемент дерева (словарь) получается из идентификатора методом ttk.Treeview.item().
- Для удаления элемента используется метод ttk.Treeview.delete(), аргументом которого является идентификатор элемента. Удаляются при этом и все дочерние элементы, т.е. цела ветка.
Пока всё! Продолжение следует...
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.