ttk treeview: alternate row colors

I had this same issue a few months ago.

From the tk docs:

You can assign a list of tags to each item using the "tags" 
item configuration option (again, when creating the item or later on).

Tag configuration options can then be specified, which will then 
apply to all items having that tag.

Basically, you apply one tag to all of the odd-numbered rows, a different tag to each of the even-numbered rows, and then configure the tags.


When you create the items inside the treeview, add tags to them:

tree.insert('', 'end', text="your text", tags = ('oddrow',))

This code creates an element in tree, and the tags argument assigns the tag ‘oddrow’ to the element.

Once you’ve created all your elements with ‘oddrow’ and ‘evenrow’ tags, you can color the tags:

tree.tag_configure('oddrow', background='orange')
tree.tag_configure('evenrow', background='purple')

Leave a Comment