import time
import tkinter as tk
from tkinter import ttk
from db import db
class AboutFrame(tk.Frame):def __init__(self,root):super().__init__(root)tk.Label( self,text='本作品由tkinter制作').pack()tk.Label( self,text='群里最弱 的').pack()tk.Label( self,text='版权所有').pack()class ChangeFrame(tk.Frame):def __init__(self,root):super().__init__(root)self.name=tk.Variable()self.math=tk.Variable()self.chinese=tk.Variable()self.english=tk.Variable()self.status=tk.Variable()self.create_page()def create_page(self):tk.Label(self, text='修改页面').grid(row=0,column=2,pady=10)tk.Label(self,text='姓名').grid(row=1,column=1,pady=10)tk.Entry(self,textvariable=self.name).grid(row=1,column=2,pady=10)tk.Label(self, text='数学').grid(row=2, column=1, pady=10)tk.Entry(self, textvariable=self.math).grid(row=2, column=2, pady=10)tk.Label(self, text='语文').grid(row=3, column=1, pady=10)tk.Entry(self, textvariable=self.chinese).grid(row=3, column=2, pady=10)tk.Label(self, text='英语').grid(row=4, column=1, pady=10)tk.Entry(self, textvariable=self.english).grid(row=4, column=2, pady=10)tk.Button(self,text='查询',command=self.search_user).grid(row=5, column=1, pady=10)tk.Button(self,text='修改',command=self.change_user).grid(row=5, column=2, pady=10)tk.Label(self, textvariable=self.status).grid(row=6, column=5, pady=10)def search_user(self):flag,info=db.search_by_username(self.name.get())if flag:self.name.set(info['name'])self.math.set(info['math'])self.chinese.set(info['chinese'])self.english.set(info['english'])self.status.set('数据查询成功')else:self.status.set(info)def change_user(self):stu = {"name": self.name.get(), "math": self.math.get(), "chinese": self.chinese.get(),"english": self.english.get()}self.name.set('')self.math.set('')self.chinese.set('')self.english.set('')db.update(stu)self.status.set('数据修改成功')class InsertFrame(tk.Frame):def __init__(self,root):super().__init__(root)self.name=tk.Variable()self.math=tk.Variable()self.chinese=tk.Variable()self.english=tk.Variable()self.status=tk.Variable()self.create_page()def create_page(self):tk.Label(self).grid(row=0,pady=10)tk.Label(self,text='姓名').grid(row=1,column=1,pady=10)tk.Entry(self,textvariable=self.name).grid(row=1,column=2,pady=10)tk.Label(self, text='数学').grid(row=2, column=1, pady=10)tk.Entry(self, textvariable=self.math).grid(row=2, column=2, pady=10)tk.Label(self, text='语文').grid(row=3, column=1, pady=10)tk.Entry(self, textvariable=self.chinese).grid(row=3, column=2, pady=10)tk.Label(self, text='英语').grid(row=4, column=1, pady=10)tk.Entry(self, textvariable=self.english).grid(row=4, column=2, pady=10)tk.Button(self,text='录入',command=self.recode_info).grid(row=5, column=5, pady=10)tk.Label(self, textvariable=self.status).grid(row=6, column=5, pady=10)def recode_info(self):stu={"name": self.name.get(),"math": self.math.get(),"chinese": self.chinese.get(),"english": self.english.get()}self.name.set('')self.math.set('')self.chinese.set('')self.english.set('')db.insert(stu)self.status.set('插入数据成功')class SearchFrame(tk.Frame):def __init__(self,root):super().__init__(root)self.table_view=tk.Frame()self.table_view.pack()self.create_page()def create_page(self):columns=("name","chinese",'math',"english")columns_values=('姓名','语文','数学','英语')self.tree_view=ttk.Treeview(self,show='headings',columns=columns)self.tree_view.column('name',width=120,anchor='center')self.tree_view.column('chinese',width=120,anchor='center')self.tree_view.column('math',width=120,anchor='center')self.tree_view.column('english',width=120,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(fill=tk.BOTH,expand=True)self.show_data_frame()tk.Button(self,text='刷新数据',command=self.show_data_frame).pack(anchor=tk.E,pady=5)def show_data_frame(self):#删除旧的阶段for _ in map(self.tree_view.delete,self.tree_view.get_children('')):passstudents=db.all()index=0for stu in students:self.tree_view.insert('',index+1,values=(stu['name'],stu['math'],stu['chinese'],stu['english']))class DelectFrame(tk.Frame):def __init__(self,root):super().__init__(root)self.name=tk.Variable()self.status=tk.Variable()tk.Label(self, text='根据名字删除信息').pack()tk.Entry(self,textvariable=self.name ).pack()tk.Button(self,text='删除',command=self.delect ).pack()tk.Label(self,textvariable=self.status ).pack()def delect(self):username=self.name.get()flag,message=db.delect_by_username(username)self.status.set(message)self.name.set('')

python之tkinter学生管理系统3-view(功能界面)相关推荐

  1. Python使用tkinter构建一个多元回归预测模型GUI界面(接受用户输入数据并给出模型推理结果)

    Python使用tkinter构建一个多元回归预测模型GUI界面(接受用户输入数据并给出模型推理结果) 目录

  2. python实现一个学生管理系统

    新手开始学习,跟着网上教程敲出一个学生管理系统 主要学习与熟悉:1.学习如何使用函数封装实现系统功能 2.熟悉对txt文本文件的增删改查 3.熟悉对字典.列表.字符串的处理 目录 一.需求分析 二.系 ...

  3. python管理系统web版_基于Python实现简单学生管理系统

    学生信息管理系统负责编辑学生信息,供大家参考,具体内容如下 第一次发帖,下面通过python实现一个简单的学生信息管理系统 要求如下: 1.添加学生的信息 2.删除学生的信息 3.修改的信息 4.查询 ...

  4. Python项目:学生管理系统连接MySQL数据库(增删改查、排序、统计、显示所有信息)

    文章目录 一程序功能(Function) 1. 功能概述 2. 思维导图 二.开始实践 战前准备 定义学生管理系统菜单 定义主函数 1.录入学生信息 2.查找学生信息 3.删除学生信息 4.修改学生信 ...

  5. Python项目之学生管理系统

    目录 引言 一 .学习目标 二.系统需求 三.准备程序文件 3.1分析 3.2创建程序文件 四.定义学员类(student.py) 4.1需求 4.2程序代码 五.管理系统(managerSystem ...

  6. 学习明日科技用python实现的学生管理系统

    这里使用的python版本是python3,在linux系统下默认的python版本是python2, 可以先通过下面的步骤去将默认的python软连接指向python3. 1,首先使用python ...

  7. 管理系统制作的python代码_python学生管理系统代码实现

    本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下 类 class Student: stuID = "" name = "" s ...

  8. 用Python做个学生管理系统,这不简简单单

    前言 最近因为疫情,各大高校都开始放假了,要不就是回家上网课 我朋友的老师真有趣,硬是要我朋友做个学生管理系统打包成exe文件发给他,才能回家 这不就找上我来了,我写完就顺便发篇文章咯 准备工作 环境 ...

  9. 用 Python 做个学生管理系统,并打包成exe文件

    由于Python都会了,学校教的确实基础,平时就没怎么去上课,让美女老师天天脑壳痛,这不快毕业了,让我做一个学生管理系统出来,还要打包成exe发给她,她就不追究我不上课的问题了~ 话说这能难倒我吗?赶 ...

最新文章

  1. Oracle 11g dataguard主库坏块修复
  2. NameValueCollection类总结和一个例子源码
  3. windows环境下运行.sh文件
  4. Rocky(dfs)
  5. 呼和浩特 计算机编程入门先学什么,学好UG编程先学什么?应该先弄懂这些问题...
  6. 服务器小程序servlet的使用
  7. 蓝桥杯大赛青少年创意编程 第十一届 省赛 C++组试题 第1题 双面打印
  8. SQL Server 2008 R2 数据库安装
  9. 使用Blend开发Silverlight VSM
  10. 关于工作[update]
  11. 免费SSL证书的制作
  12. 切割html字符串,使用javascript如何分割字符串?
  13. Android性能优化之利用LeakCanary检测内存泄漏及解决办法
  14. TOPSIS法——利用原始数据进行综合评价
  15. python写入txt不覆盖_python不能覆盖文件内容如何解决
  16. Android Framework 音频子系统(02)音频系统框架
  17. EPUB文档格式简单总结
  18. 2022-2028年中国中医医疗机构行业投资策略探讨及市场规模预测报告
  19. 外媒曝:暴雪《炉石传说》或登陆安卓和WP平台
  20. Lesson 5 The facts 确切数字

热门文章

  1. 已经有几百个制造企业的痛点问题在这了,你的在哪?
  2. mysql数据库引擎(show engines)
  3. PyTorch模型训练的几个加速技巧
  4. Apache Camel源码研究之Rest
  5. 高频强调滤波增强图像
  6. Redis之Redis基础、环境搭建、主从切换
  7. 【Dvhop定位】基于加权双曲线定位的Dvhop算法附matlab代码
  8. PMBOK(第六版) 学习笔记 ——《第一章 引论》
  9. IO有Buffered IO 和 Direct IO
  10. 3D建模基本软件介绍