网站首页 > 开源技术 正文
Excel 有表格编辑功能,为什么我还要弄一个,不是多此一举么。道理是对的,但是很多会员功能才更加强大,不是吗?
我们学语言,一来可以练习编码熟练的,巩固知识点,更重要的是你熟悉开发,以后如果你想实现一个功能,你轻松都能实现,还需要弄个会员么。加强能力就是赚钱。
另外很多开发需要在原有的功能达不到我们的需求,你能设计、改进那不是更好么。
我打算实现如下界面额表格,可以添加一行,修改编辑某个字段,删除行,最后可以保存起来。
上图保存按钮还有很多没看到 ,我们进行调整下
直接给代码
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import csv
class EditableTableApp:
def __init__(self, root):
self.root = root
self.root.title("设计一个能编辑表格界面")
self.root.geometry("900x400")
# 创建表格框架
self.create_table()
# 创建操作按钮
self.create_buttons()
# 初始化数据
self.load_initial_data()
def create_table(self):
# 表格列配置
self.columns = ("ID", "姓名", "年龄", "邮箱")
# 创建 Treeview 组件
self.tree = ttk.Treeview(
self.root, columns=self.columns,
show="headings", selectmode="browse"
)
# 配置列属性
self.tree.heading("ID", text="ID", anchor=tk.W)
self.tree.heading("姓名", text="姓名")
self.tree.heading("年龄", text="年龄")
self.tree.heading("邮箱", text="邮箱")
self.tree.column("ID", width=80, anchor=tk.W)
self.tree.column("姓名", width=150)
self.tree.column("年龄", width=80)
self.tree.column("邮箱", width=250)
# 添加滚动条
vsb = ttk.Scrollbar(self.root, orient="vertical", command=self.tree.yview)
self.tree.configure(yscrollcommand=vsb.set)
# 布局组件
self.tree.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
vsb.pack(side=tk.RIGHT, fill=tk.Y)
# 绑定双击编辑事件
self.tree.bind("<Double-1>", self.on_double_click)
def create_buttons(self):
# 按钮框架
btn_frame = ttk.Frame(self.root)
btn_frame.pack(pady=10, fill=tk.X)
# 功能按钮
ttk.Button(btn_frame, text="添加当前行", command=self.add_row).pack(side=tk.LEFT, padx=5)
ttk.Button(btn_frame, text="删除当前行", command=self.delete_row).pack(side=tk.LEFT, padx=5)
ttk.Button(btn_frame, text="保存", command=self.save_to_csv).pack(side=tk.LEFT, padx=5)
def load_initial_data(self):
# 初始化示例数据
for i in range(1, 6):
self.tree.insert("", tk.EN
测试如下
把用户1修改成用户修改
可以点保存 就更新表格了
新增加一行
记得保存,不保存退出就没了哦。
代码编辑图如下:
另外你可以增加一些验证关系。比如年龄必须是数字,还有有的字段不能为空等等,加油,为原因努力学习你,加油。
猜你喜欢
- 2025-05-02 黑苹果升级更新macOS 13 Ventura 问题整理
- 2025-05-02 Android开发基础入门(一):UI与基础控件
- 2025-05-02 QML控件类型:ComboBox、Control(qml 控件)
- 2025-05-02 鸿蒙NEXT小游戏开发:拼图(鸿蒙 图片拼接)
- 2025-05-02 Django+SimpleUI快速开发指南(django开发工具)
- 2025-05-02 轻松部署Gemma3-27B,L20服务器+最新版vLLM高效推理
- 2025-05-02 CS架构开发之-WPF平台权限菜单(wpf用户控件)
- 2025-05-02 手抓手带你使用 vue devtools(vue-devtools-5.1.1)
- 2024-08-25 3Dmax高级建模技巧总结(3dmax高级建模技巧总结报告)
- 2024-08-25 语雀是如何防止前端数据被异常篡改并且复原数据的?
你 发表评论:
欢迎- 最近发表
-
- 10款鲜为人知的PHP框架(10款鲜为人知的php框架代码)
- 3分钟搞懂反弹shell(反弹shell的常用命令)
- 计算机专业必须掌握的脚本开发语言—shell
- shell 基本语法(shell基本语法set)
- 学习Shell 教程(shell编程学习)
- 一个有意思的PHP Webshell,利用伪协议执行代码
- Linux入门-shell编程-适合小白(linux shell编程是什么)
- GrayLog开源日志管理平台技术文章合集【共58篇】
- AI大模型 MiniMax 基于 Apache Doris 的日志系统,PB 级秒级查询响应
- 互联网大厂后端必看!手把手教你替换 Spring Boot 中的日志框架
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)