user9175260
user9175260

Reputation:

Why do treeview widget put an extra column although I only gave it two? I also can't control the width of it

  1. I can't figure out how to control the width of the widget
  2. I can't make it display only 2 columns

    from Tkinter import *
    from ttk import Treeview
    root = Tk()
    tree = Treeview(root, height = 10, columns = 2)
    tree['columns'] = ('one','two')
    tree.column('one', width = 50)
    tree.column('two', width = 50)
    tree.heading('one', text = 'UserName', anchor = 'center')
    tree.heading('two', text = 'ID', anchor = 'centeenter code herer')
    tree.grid(row = 3, column = 0)
    root.mainloop()
    

Upvotes: 3

Views: 1766

Answers (1)

Bryan Oakley
Bryan Oakley

Reputation: 385970

That first column is the tree. You can turn it off by using the show attribute. The value must be a list with zero or more values. The valid values are headings to show the column headings, and tree to show the tree. The default value is ['tree', 'headings'].

Here's how to have the treeview show the column headings but not the tree:

tree = Treeview(root, height=10, columns=2, show=["headings"])

If you want to see the tree, but you want to control its width, you can do that too. The tree column can always be identified with '#0'. You can use the column method to set the width:

tree.column('#0', width=50)

Upvotes: 7

Related Questions