本文实例为大家分享了python Tkinter版学生管理的具体代码,供大家参考,具体内容如下
Tkinter是python自带的UI包,无需下载,只需要导入
tkinter 文档
//http://effbot.org/tkinterbook////
文档是英文版本的,可以翻译!
界面效果如下:
python的pc端界面还是可以的,较为美观!
页面较为粗狂,为经过专业设计!
系统的对象封装,数据连接使用的是原本控制台版本的!
控制台版本的系统,包含对象封装,数据连接
#导入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 Tkinter版学生管理系统到此结束。最大的失败是放弃,最大的敌人是自己,最大的对手是时间。小编再次感谢大家对我们的支持!