Я создаю Python на основе Tkinter GUI. Он имеет виджет Treeview, и Мне нужно добавить вертикальные линии между столбцами заголовков (пример из другого приложения, не основанного на Tkinter, приведен ниже).
Я был на Стиль заголовка Tkinter Treeview Этот точный вопрос тоже задавался там ( в комментариях ), но никто не ответил, даже через два года. Есть ли способ сделать что-то подобное в Tkinter?
Вот что я пробовал:
from tkinter import *
from tkinter.ttk import Treeview, Style
root = Tk()
style = Style()
style.element_create("Custom.Treeheading.border", "from", "default")
style.layout("Custom.Treeview.Heading", [
("Custom.Treeheading.cell", {"sticky": "nswe"}),
("Custom.Treeheading.border", {"sticky":"nswe", "children": [
("Custom.Treeheading.padding", {"sticky":"nswe", "children": [
("Custom.Treeheading.image", {"side":"right", "sticky":""}),
("Custom.Treeheading.text", {"sticky":"we"})
]})
]}),
])
style.configure("Custom.Treeview.Heading",
background="red", foreground="white", relief="flat")
style.map("Custom.Treeview.Heading",
relief=[("active", "groove"),("pressed", "sunken")])
tree = Treeview(root, style="Custom.Treeview", show="headings", columns=("word", "meaning"))
tree.heading("word", text="Word")
tree.heading("meaning", text="Meaning")
tree.insert("", END, values=("Food", "what we eat"))
tree.insert("", END, values=("Drinks", "what we drink"))
...
tree.pack()
root.mainloop()