首页 > 解决方案 > 在 tkinter 树视图中创建网格线

问题描述

我有一个用 tkinter 制作的简单树视图。是否可以在 tkinter treview 中制作一个网格,使其看起来更像一张桌子?

我想让它更“用户友好”,因此表格/树视图的可视化可以更好。

from tkinter import *
from tkinter import ttk

myApp = Tk()
myApp.title(" Program ")                         
myApp.geometry("800x700")


tree = ttk.Treeview(myApp,height=25)
tree['show'] = 'headings'

sb = ttk.Scrollbar(myApp, orient="vertical", command=tree.yview)
sb.grid(row=1,column=1,sticky="NS",pady=5)

tree.configure(yscrollcommand=sb.set)

tree["columns"]=("1","2","3")

tree.column("1", width=50)
tree.column("2", width=50)
tree.column("3", width=50)

tree.heading("1", text="Col 1")
tree.heading("2", text="Col 2")
tree.heading("3", text="Col 3")

item = tree.insert("", "end", values=("",))

tree.grid(row=1,column=0,padx=5,pady=5)

myApp.mainloop()

标签: pythontkinter

解决方案


我相信使它更加“用户友好”的唯一选择是创建交替的行颜色:

tree.insert("", "end", values=("a",),)
tree.insert("", "end", values=("b",), tag='gray')
tree.insert("", "end", values=("c",),)
tree.insert("", "end", values=("d",), tag='gray')
tree.tag_configure('gray', background='#cccccc')

推荐阅读