python - 如何在 Tkinter Treeview 的标题列之间添加垂直线?
问题描述
我正在创建一个基于 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()
解决方案
推荐阅读
- r - 关闭应用程序后保存对数据表所做的更改 (R)
- javascript - 在 JavaScript ES6 中,可迭代对象和迭代器有什么区别?
- java - 从活动中获取数据到 RecyclerView 适配器?
- c++ - 抛出异常:读取访问冲突。它是 0xFFFFFFFFFFFFFFFF
- vue.js - 如何在不使用 Vue 文件中的道具的情况下从模板中访问数据属性?
- erlang - 具体解码选择ASN.1
- visual-studio - 基于 docker 的 Visual Studio 构建 - 不起作用
- awk - 包含插入符号的 Awk 多字符字段分隔符未按预期工作
- php - 仅在给定列唯一的情况下生成数据以填充数据库
- iis - Consul 和 IIS 托管应用程序