Skip to content Skip to sidebar Skip to footer

Is There A Way To Change Height Of Tkinter Treeview Heading?

I got a problem with changing the height of the Treeview.heading. I have found some answers about the dimensions of Treeview.column, but when I access Treeview.heading in the docum

Solution 1:

I can't find any documentation to verify this but it looks like the height of the heading is determined by the heading in the first column.

Reproducing the problem

col_list = ('Name', 'Three\nLine\nHeader', 'Two\nline')
tree = Treeview(parent, columns=col_list[1:])
ix = -1for col in col_list:
    ix += 1
    tree.heading(f'#{ix}', text=col)

The fix

col_list = ('Name\n\n', 'Three\nLine\nHeader', 'Two\nline')

or, if you want to make it look prettier

col_list = ('\nName\n', 'Three\nLine\nHeader', 'Two\nline')

The only problem is I haven't figured out how to centre the heading on a two line header

Edit

The newlines work if it is the top level window but not if it is a dialog. Another way of doing this is to set the style. I've got no idea why this works.

style = ttk.Style()
style.configure('Treeview.Heading', foreground='black')

Post a Comment for "Is There A Way To Change Height Of Tkinter Treeview Heading?"