tkinter表格

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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值