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抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
浅谈Python脚本开头及导包注释自动添加方法
Oct 27 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
Python pip install如何修改默认下载路径
Apr 29 Python
Python提取视频中图片的示例(按帧、按秒)
Oct 22 Python
Python基础之字符串格式化详解
Apr 21 Python
如何利用python实现列表嵌套字典取值
Jun 10 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内存溢出问题的解决方法
2013/06/25 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
jQuery JSON的解析方式分享
2011/04/05 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
js获取ip和地区
2017/03/10 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
Python基础教程之利用期物处理并发
2018/03/29 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python 异或加密字符串的实例
2018/10/14 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
Django实现发送邮件功能
2019/07/18 Python
Python 转换文本编码实现解析
2019/08/27 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
机械工程师的岗位职责
2013/11/17 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
电台实习生求职信
2014/02/25 职场文书
社团活动总结格式
2014/08/29 职场文书
2014年收银工作总结
2014/11/13 职场文书
会计求职简历自我评价
2015/03/10 职场文书