self.students = json.loads(text)
保存数据
def save_data(self):
with open(“students.txt”, ‘w’, encoding=“utf-8”) as f:
text = json.dumps(self.students, ensure_ascii=False)
f.write(text)
db = StudentDB()
MenuPage.py
import tkinter as tk
from view import *
class MenuPage(object):
def init(self, master=None):
self.root = master
self.root.geometry(‘%dx%d’ % (600, 400))
self.create_page()
self.input_page = InputFrame(self.root)
self.query_page = QuerryFrame(self.root)
self.delete_page = DeleteFrame(self.root)
self.update_page = UpdateFrame(self.root)
self.about_page = AboutFrame(self.root)
self.input_page.pack()
def create_page(self):
创建菜单对象
menubar = tk.Menu(self.root)
add_command 添加
menubar.add_command(label=“录入”, command=self.input_data) # label
menubar.add_command(label=“查询”, command=self.query_data) # label
menubar.add_command(label=“删除”, command=self.delete_data) # label
menubar.add_command(label=“修改”, command=self.update_data) # label
menubar.add_command(label=“关于”, command=self.about_data) # label
设置菜单栏
self.root.config(menu=menubar)
切换界面
def input_data(self):
self.input_page.pack()
self.update_page.pack_forget()
self.delete_page.pack_forget()
self.about_page.pack_forget()
self.query_page.pack_forget()
def query_data(self):
self.input_page.pack_forget()
self.query_page.pack()
self.update_page.pack_forget()
self.delete_page.pack_forget()
self.about_page.pack_forget()
def update_data(self):
self.input_page.pack_forget()
self.update_page.pack()
self.delete_page.pack_forget()
self.about_page.pack_forget()
self.query_page.pack_forget()
def delete_data(self):
self.input_page.pack_forget()
self.update_page.pack_forget()
self.delete_page.pack()
self.about_page.pack_forget()
self.query_page.pack_forget()
def about_data(self):
self.input_page.pack_forget()
self.update_page.pack_forget()
self.delete_page.pack_forget()
self.about_page.pack()
self.query_page.pack_forget()
view.py
import tkinter as tk
from db import db
from tkinter import ttk
录入类
class InputFrame(tk.Frame):
def init(self, master=None):
super().init(master)
self.root = master
self.name = tk.StringVar()
self.math = tk.StringVar()
self.chinese = tk.StringVar()
self.english = tk.StringVar()
self.status = tk.StringVar()
self.create_page()
def create_page(self):
tk.Label(self).grid(row=0, stick=tk.W, pady=10)
tk.Label(self, text=“姓名:”).grid(row=1, stick=tk.W, pady=10)
单行文本框 entry,textvariable绑定变量
tk.Entry(self, textvariable=self.name).grid(row=1, column=1, stick=tk.E)
tk.Label(self, text=“数学:”).grid(row=2, stick=tk.W, pady=10)
单行文本框 entry,textvariable绑定变量
tk.Entry(self, textvariable=self.math).grid(row=2, column=1, stick=tk.E)
tk.Label(self, text=“语文:”).grid(row=3, stick=tk.W, pady=10)
单行文本框 entry,textvariable绑定变量
tk.Entry(self, textvariable=self.chinese).grid(row=3, column=1, stick=tk.E)
tk.Label(self, text=“英语:”).grid(row=4, stick=tk.W, pady=10)
单行文本框 entry,textvariable绑定变量
tk.Entry(self, textvariable=self.english).grid(row=4, column=1, stick=tk.E)
tk.Button(self, text=“录入”, command=self.recode_student).grid(row=5, column=1, stick=tk.E, pady=10)
tk.Label(self, textvariable=self.status).grid(row=6, column=1, stick=tk.E, pady=10)
录入成绩
def recode_student(self):
student = {
“name”: self.name.get(),
“math”: self.math.get(),
“chinese”: self.chinese.get(),
“english”: self.english.get(),
} # 一个学生的成绩
db.insert(student)
get()得到值
set()设置值
self.status.set(“插入数据成功!”)
self._clear_data()
db.save_data()
清空文本数据
def _clear_data(self):
self.name.set(“”)
self.math.set(“”)
self.chinese.set(“”)
self.english.set(“”)
查询类
class QuerryFrame(tk.Frame):
def init(self, master=None):
super().init(master)
self.root = master
self.create_page()
创建查询界面
def create_page(self):
self.create_tree_view()
self.show_data_frame()
grid()
tk.Button(self, text=“刷新数据”, command=self.show_data_frame).pack(anchor=tk.E, pady=5)
Treeview
def create_tree_view(self):
表头
columns = (“name”, “chinese”, “math”, “english”)
self.tree_view = ttk.Treeview(self, show=‘headings’, columns=columns)
self.tree_view.column(“name”, width=80, anchor=‘center’)
self.tree_view.column(“chinese”, width=80, anchor=‘center’)
self.tree_view.column(“math”, width=80, anchor=‘center’)
self.tree_view.column(“english”, width=80, anchor=‘center’)
self.tree_view.heading(“name”, text=‘姓名’)
self.tree_view.heading(“chinese”, text=‘语文’)
self.tree_view.heading(“math”, text=‘数学’)
self.tree_view.heading(“english”, text=‘英语’)
self.tree_view.pack()
显示数据
def show_data_frame(self):
删除原节点 map(int,值)
for i in map(self.tree_view.delete, self.tree_view.get_children(“”)):
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
文章来源:https://www.toymoban.com/news/detail-849686.html
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-V1Qzt9v9-1712561741043)]文章来源地址https://www.toymoban.com/news/detail-849686.html
到了这里,关于程序员面试题精选100题答案,python学生成绩管理系统【完整版,【微信小程序】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!