import tkinter as tk from tkinter import ttk class Table(tk.Frame): def __init__(self, master): super().__init__(master) self.master = master self.data = [ [1, 'Jone', 'Male', 25, '123 Main St'], [2, 'Jane Smith', 'Female', 30, '456 Elm St'], [3, 'Mike Johnson', 'Male', 35, '789 Oak St'], # Add more rows as needed ] self.create_table() def create_table(self): # Create treeview widget self.tree = ttk.Treeview(self, columns=("ID", "Name", "Gender", "Age", "Address"), show="headings") self.tree.grid(row=0, column=0, sticky="nsew") # Configure column headings self.tree.heading("ID", text="ID") self.tree.heading("Name", text="姓名") self.tree.heading("Gender", text="性别") self.tree.heading("Age", text="年龄") self.tree.heading("Address", text="地址") # Configure column widths self.tree.column("ID", width=50) self.tree.column("Name", width=100) self.tree.column("Gender", width=100) self.tree.column("Age", width=50) self.tree.column("Address", width=150) # Insert data into table for row in self.data: self.tree.insert("", "end", values=row) # Enable cell editing self.tree.bind("<Double-1>", self.edit_cell) def edit_cell(self, event): # Get selected item and column item = self.tree.selection()[0] column = self.tree.identify_column(event.x) # Check if column is editable if column != "#0": self.tree.item(item, values=( self.tree.item(item)["values"][0], self.tree.item(item)["values"][1], self.tree.item(item)["values"][2], self.tree.item(item)["values"][3], "")) root = tk.Tk() root.geometry("800x600") root.config(bg='black') frame=tk.Frame(root,width=500,height=300) frame.place(x=20,y=10) table = Table(frame) table.pack(fill="both", expand=True) root.mainloop()
tkinter表格
于 2023-07-10 22:03:13 首次发布