问题
Can anyone tell me how to remove the header row in a tkinter Treeview?
from tkinter import *
from tkinter import ttk
root = Tk()
NewTree= ttk.Treeview(root)
NewTree.pack()
NewTree.heading("#0", text="How to remove this row?")
NewTree.insert("", "0", 'item1',text='Item number 1')
root.mainloop()
回答1:
Use the show option to only show the tree and not the heading:
NewTree = ttk.Treeview(root, show="tree")
Relevant documentation
From docs.python.org:
show
A list containing zero or more of the following values, specifying which elements of the tree to display.
- tree: display tree labels in column #0.
- headings: display the heading row.
The default is “tree headings”, i.e., show all elements.
Note: Column #0 always refers to the tree column, even if show=”tree” is not specified.
From the New Mexico Tech Tkinter reference:
show
To suppress the labels at the top of each column, specify
show='tree'. The default is to show the column labels.
From TkDocs:
You can optionally hide one or both of the column headings or the tree itself (leaving just the columns) using the
showwidget configuration option (default is"tree headings"to show both).
来源:https://stackoverflow.com/questions/51762835/remove-header-row-in-tkinter-treeview