python Tkinter版学生管理系统


Posted in Python onFebruary 20, 2019

本文实例为大家分享了python Tkinter版学生管理的具体代码,供大家参考,具体内容如下

Tkinter是python自带的UI包,无需下载,只需要导入

tkinter 文档
//http://effbot.org/tkinterbook////
文档是英文版本的,可以翻译!

界面效果如下:

python的pc端界面还是可以的,较为美观!

python Tkinter版学生管理系统

页面较为粗狂,为经过专业设计!

系统的对象封装,数据连接使用的是原本控制台版本的!

控制台版本的系统,包含对象封装,数据连接

#导入tkinter 包
from tkinter import *
from tkinter import ttk
from com.hc.dao.Connect import *
from com.hc.entity.Student import *

root=Tk()
# 窗口宽高 英文X
root.geometry('600x500')
# 固定窗口
root.resizable(width=False,height=False)
# 窗口标题
root.title('hc king')


# 标签 \ n
Label(root,text='信息管理',bg='white',fg='red',font=('宋体',15)).pack(side=TOP,fill='x')
# 数据表格
#居中
dataTreeview=ttk.Treeview(root,show='headings',column=('sid','sname','sex','sage'))
dataTreeview.column('sid',width=150,anchor="center")
dataTreeview.column('sname',width=150,anchor="center")
dataTreeview.column('sex',width=150,anchor="center")
dataTreeview.column('sage',width=150,anchor="center")


dataTreeview.heading('sid',text='编号')
dataTreeview.heading('sname',text='名称')
dataTreeview.heading('sex',text='性别')
dataTreeview.heading('sage',text='年龄')

bottomFrame=Frame(root)

sidLabel=Label(leftFrame,text='编号:')
snameLabel=Label(leftFrame,text='名称:')
sexLabel=Label(leftFrame,text='性别:')
sageLabel=Label(leftFrame,text='年龄:')

sidEntry=Entry(leftFrame)
snameEntry=Entry(leftFrame)
sexEntry=Entry(leftFrame)
sageEntry=Entry(leftFrame)

sidLabel.grid(row=0,column=0)
sidEntry.grid(row=0,column=1)
snameLabel.grid(row=0,column=2)
snameEntry.grid(row=0,column=3)



sexLabel.grid(row=1,column=0)
sexEntry.grid(row=1,column=1)
sageLabel.grid(row=1,column=2)
sageEntry.grid(row=1,column=3)

insButton=Button(rightFrame,text="添加",command=insert)
insButton.grid(row=0,column=0)
delButton=Button(rightFrame,text="删除",command=delete)
delButton.grid(row=0,column=1)
updButton=Button(rightFrame,text="修改",command=update)
updButton.grid(row=1,column=0)
selButton=Button(rightFrame,text="查询",command=select)
selButton.grid(row=1,column=1)#定位式布局,即坐标


dataTreeview.bind('<<TreeviewSelect>>',treeSel)#为dataTreeview绑定事件
bottomFrame.pack()#组件显示
root.mainloop()#界面运行

上述是系统的界面。

#点击dataTreeview的某一项,就把数据拿到,放进四个输入框内
def treeSel(event):
  item=dataTreeview.selection()
  itemvalues=dataTreeview.item(item,'values')
  clearEntry()
  sidEntry.insert(0,itemvalues[0])
  snameEntry.insert(0, itemvalues[1])
  sexEntry.insert(0, itemvalues[2])
  sageEntry.insert(0, itemvalues[3])

#把四个输入框的数据放进对象
def update():
  student = Student()
  student.stuId = sidEntry.get()
  student.stuName = snameEntry.get()
  student.stuSex = sexEntry.get()
  student.stuAge = sageEntry.get()
  DataBase().updUser(student)
  clearAndall()


#删除dataTreeview里面的数据
def clear():
  clearEntry()
  for item in dataTreeview.get_children():
    dataTreeview.delete(item)


def addAll():
  for o in DataBase().allUser():
    dataTreeview.insert('',0, values=(o[0], o[1], o[2], o[3]))

#清空四个输入框
def clearEntry():
  sidEntry.delete(0, END)
  snameEntry.delete(0, END)
  sexEntry.delete(0, END)
  sageEntry.delete(0, END)

上述是系统所需的具体方法!

仍然需要改进!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python与php实现分割文件代码
Mar 06 Python
windows系统下Python环境搭建教程
Mar 28 Python
Python简单网络编程示例【客户端与服务端】
May 26 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
详解django三种文件下载方式
Apr 06 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
选择python进行数据分析的理由和优势
Jun 25 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
Mar 08 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
jupyter notebook更换皮肤主题的实现
Jan 07 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 #Python
Python实战购物车项目的实现参考
Feb 20 #Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 #Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 #Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 #Python
python3实现zabbix告警推送钉钉的示例
Feb 20 #Python
python实现图书借阅系统
Feb 20 #Python
You might like
PHP的ASP防火墙
2006/10/09 PHP
用PHP来写记数器(详细介绍)
2006/10/09 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
Pandas中resample方法详解
2019/07/02 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
关于毕业的中学校园广播稿
2014/01/26 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
党小组评议意见
2015/06/02 职场文书
《鲸》教学反思
2016/02/23 职场文书
python Django框架快速入门教程(后台管理)
2021/07/21 Python