Reputation: 597
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
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