aboutsummaryrefslogtreecommitdiff
path: root/test/table.py
diff options
context:
space:
mode:
authorVikas Kushwaha <dev@vikas.rocks>2024-11-21 13:23:10 +0530
committerVikas Kushwaha <dev@vikas.rocks>2024-11-21 13:23:10 +0530
commit8f0751170385989677392f806762a211f99412ef (patch)
treef09ad917798fa313edb77925a1ddbc6de8fb37ce /test/table.py
First Commit
Diffstat (limited to 'test/table.py')
-rw-r--r--test/table.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/table.py b/test/table.py
new file mode 100644
index 0000000..875d25c
--- /dev/null
+++ b/test/table.py
@@ -0,0 +1,49 @@
+from tkinter import *
+
+import tkinter as tk
+from tkinter import ttk
+from tkinter.messagebox import showinfo
+
+root = tk.Tk()
+root.title('Treeview demo')
+root.geometry('620x200')
+
+# define columns
+columns = ('first_name', 'last_name', 'email')
+
+tree = ttk.Treeview(root, columns=columns, show='headings')
+
+# define headings
+tree.heading('first_name', text='First Name')
+tree.heading('last_name', text='Last Name')
+tree.heading('email', text='Email')
+
+# generate sample data
+contacts = []
+for n in range(1, 100):
+ contacts.append((f'first {n}', f'last {n}', f'email{n}@example.com'))
+
+# add data to the treeview
+for contact in contacts:
+ tree.insert('', tk.END, values=contact)
+
+
+def item_selected(event):
+ for selected_item in tree.selection():
+ item = tree.item(selected_item)
+ record = item['values']
+ # show a message
+ showinfo(title='Information', message=','.join(record))
+
+
+tree.bind('<<TreeviewSelect>>', item_selected)
+
+tree.grid(row=0, column=0, sticky='nsew')
+
+# add a scrollbar
+scrollbar = ttk.Scrollbar(root, orient=tk.VERTICAL, command=tree.yview)
+tree.configure(yscroll=scrollbar.set)
+scrollbar.grid(row=0, column=1, sticky='ns')
+
+# run the app
+root.mainloop()