O JOE
O JOE

Reputation: 597

How to display content under ttk treeview sun tree

I have these few lines of code where i want my gender content to display under treeview sub tree on the same row as the name there but it displays on new rows after the subtree.

Want it to display as the example below:

FRED MALE

MAVIS FEMALE

FRED OTHER

on same row under the subtree but not able to achive that.

Your suggestions are welcome to achieve that.

from tkinter import ttk
import tkinter as tk


root = tk.Tk()
root.geometry("1200x680+50+20")


tree = ttk.Treeview(root)
    ############
tree.config(columns=("col1","col2","col3"))   


#SUb treeview
style = ttk.Style(root)
style.configure("Treeview", rowheight=30)
tree.configure(style="Treeview")


tree.heading("#1", text="DOB")
tree.heading("#2", text="SCHOOL")
tree.heading("#3", text="GENDER")


tree.insert("", "0", "item1", text="Names",)
tree.insert("", "1", "item2", text="Names")


tree.set("item1", "#1", ["2019-05-25"])
tree.set("item1", "#2", ["HARVARD"])


#sub tree using item attribute to achieve that
tree.insert("item1", "1", text="FRED")
tree.insert("item1", "1", text="MAVIS")
tree.insert("item1", "1", text="BRIGHT")


tree.insert("", tk.END, values=("", "", "MALE"))
tree.insert("", tk.END, values=("", "", "OTHER"))
tree.insert("", tk.END, values=("", "", "FEMALE"))




tree.pack(fill=tk.BOTH, expand=True)


root.mainloop()

Upvotes: 1

Views: 315

Answers (1)

Tien Nguyen
Tien Nguyen

Reputation: 316

To achieve what you want, you can replace this:

tree.set("item1", "#1", ["2019-05-25"])
tree.set("item1", "#2", ["HARVARD"])


#sub tree using item attribute to achieve that
tree.insert("item1", "1", text="FRED")
tree.insert("item1", "1", text="MAVIS")
tree.insert("item1", "1", text="BRIGHT")


tree.insert("", tk.END, values=("", "", "MALE"))
tree.insert("", tk.END, values=("", "", "OTHER"))
tree.insert("", tk.END, values=("", "", "FEMALE"))

with this:

tree.insert("item1", "end", text="FRED", values=("2019-05-25", "HARVARD", "MALE"))
tree.insert("item1", "end", text="MAVIS", values=("2019-05-25", "HARVARD", "OTHER"))
tree.insert("item1", "end", text="BRIGHT", values=("2019-05-25", "HARVARD", "FEMALE"))

Upvotes: 1

Related Questions