网站首页 > 教程分享 正文
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("
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-03-24 探索FunClip:本地部署自动化视频剪辑工具详细介绍与实操指南
- 2025-03-24 小白之Tkinter库读文:基础组件-Canvas 画布(8)
- 2025-03-24 大众设计总监承诺:将关键控制功能交给车机屏幕的错误将永不再犯
- 2025-03-24 Emacs 折腾日记(十五)——窗口(emacs 代码折叠)
- 2025-03-24 剪映关键帧使用指南(剪映关键帧使用教程视频)
- 2025-03-24 保姆级教程:手把手教你用 Readdy.ai 轻松产品设计与前端开发
- 2025-03-24 小白之Tkinter库读文:基础组件-Listbox 列表框(11)
- 2025-03-24 仓管excel必备技能操作第1讲 仓管excel必备技...
- 2025-03-24 WPF 机械类组件动画制作流程简述(wps上怎么画机械结构简图)
- 2025-03-24 如何做好 Web 自定义排序产品设计?
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)