Поиск…


Вступление

Стиль новых виджетов ttk является одним из самых мощных аспектов ttk. Помимо того факта, что это совершенно другой способ работы, чем традиционный пакет tk, он позволяет выполнять огромную настройку ваших виджетов.

Настройка древовидной структуры

Выбрав Treeview: Основной пример , можно показать, как настроить базовое древовидное представление.

В этом случае мы создаем стиль «mystyle.Treeview» со следующим кодом (см. Комментарии, чтобы понять, что делает каждая строка):

style = ttk.Style()
style.configure("mystyle.Treeview", highlightthickness=0, bd=0, font=('Calibri', 11)) # Modify the font of the body
style.configure("mystyle.Treeview.Heading", font=('Calibri', 13,'bold')) # Modify the font of the headings
style.layout("mystyle.Treeview", [('mystyle.Treeview.treearea', {'sticky': 'nswe'})]) # Remove the borders

Затем создается виджет, создающий этот стиль:

tree=ttk.Treeview(master,style="mystyle.Treeview")

Если вы хотите иметь другой формат в зависимости от строк, вы можете использовать tags :

tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"),tags = ('odd',))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"),tags = ('even',))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"),tags = ('odd',))

Затем, например, цвет фона может быть связан с тегами:

tree.tag_configure('odd', background='#E8E8E8')
tree.tag_configure('even', background='#DFDFDF')

Результатом является древовидная структура с измененными шрифтами как для тела, так и для заголовков, без границ и разных цветов для строк:

введите описание изображения здесь

Примечание. Чтобы создать приведенное выше изображение, вы должны добавить / изменить вышеупомянутые строки кода в примере примера Treeview: Basic .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow