12.11
from tkinter import *
from tkinter.messagebox import *
from Database import Database
class StudentUI:
def __init__(self):
self.user = None
self.password = None
self.list_1 = []
self.root = Tk()
self.root.resizable(0, 0)
self.screen_width = self.root.winfo_screenwidth()
self.screen_height = self.root.winfo_screenheight()
self.frame_1 = Frame(self.root)
self.frame_1.place(x=0, y=0)
self.entry_1 = Entry(self.frame_1, bd=5)
self.entry_2 = Entry(self.frame_1, bd=5, show="*")
def init_1(self):
self.root.title("学生信息管理系统")
self.root.geometry("800x600")
menuber = Menu(self.root)
menu_1 = Menu(menuber, tearoff=0)
menuber.add_cascade(label="文件", menu=menu_1)
menu_2 = Menu(menuber, tearoff=0)
menuber.add_cascade(label="功能", menu=menu_2)
menu_3 = Menu(menuber, tearoff=0)
menuber.add_cascade(label="帮助", menu=menu_3)
menu_1.add_cascade(label="另存为", command=lambda: Database.savestudent(Database, self.user, self.password))
menu_2.add_cascade(label="添加学生", command=self.addstudent)
menu_2.add_cascade(label="删除学生", command=self.deletestudent)
menu_2.add_cascade(label="修改学生", command=self.updatestudent)
menu_2.add_cascade(label="查询学生", command=self.selectstudent)
menu_2.add_cascade(label="输出学生", command=self.showallstudent)
menu_3.add_cascade(label="关于", command=self.about)
self.root["menu"] = menuber
self.root.mainloop()
def about():
showinfo(title="关于", message="en~~~~\n好像没啥可以说的....\n告辞(00)")
def login_1(self):
self.root.title("登录界面")
self.root.geometry("200x140+%d+%d" % (self.screen_width / 4, self.screen_height / 7))
label_1 = Label(self.frame_1, text="用户名:")
label_2 = Label(self.frame_1, text="密码:")
label_3 = Label(self.frame_1, text="")
label_4 = Label(self.frame_1, text="")
label_1.grid(row=1, column=0)
self.entry_1.grid(row=1, column=1)
label_3.grid(row=2, column=0)
label_2.grid(row=3, column=0)
self.entry_2.grid(row=3, column=1)
label_4.grid(row=4, column=0)
self.list_1.append(self.entry_1)
self.list_1.append(self.entry_2)
button_1 = Button(self.frame_1, text="登录", command=lambda: self.login_2())
button_2 = Button(self.frame_1, text="清除", command=lambda: self.clearentry())
button_1.grid(row=5, column=0)
button_2.grid(row=5, column=1)
self.root.mainloop()
def addstudent(self):
for widget in self.frame_1.winfo_children():
widget.destroy()
self.list_1.clear()
label_1 = Label(self.frame_1, text="学号:")
label_2 = Label(self.frame_1, text="姓名:")
label_3 = Label(self.frame_1, text="性别:")
label_4 = Label(self.frame_1, text="出生日期:")
label_5 = Label(self.frame_1, text="电话:")
label_6 = Label(self.frame_1, text="宿舍号:")
entry_1 = Entry(self.frame_1, bd=5)
entry_2 = Entry(self.frame_1, bd=5)
entry_3 = Entry(self.frame_1, bd=5)
entry_4 = Entry(self.frame_1, bd=5)
entry_5 = Entry(self.frame_1, bd=5)
entry_6 = Entry(self.frame_1, bd=5)
label_1.grid(row=0, column=0)
entry_1.grid(row=0, column=1)
label_2.grid(row=1, column=0)
entry_2.grid(row=1, column=1)
label_3.grid(row=2, column=0)
entry_3.grid(row=2, column=1)
label_4.grid(row=3, column=0)
entry_4.grid(row=3, column=1)
label_5.grid(row=4, column=0)
entry_5.grid(row=4, column=1)
label_6.grid(row=5, column=0)
entry_6.grid(row=5, column=1)
self.list_1.append(entry_1)
self.list_1.append(entry_2)
self.list_1.append(entry_3)
self.list_1.append(entry_4)
self.list_1.append(entry_5)
self.list_1.append(entry_6)
button_1 = Button(self.frame_1, text="提交",
command=lambda: Database.addstudent(Database, self.user,
self.password, entry_1.get(), entry_2.get(),
entry_3.get(), entry_4.get(), entry_5.get(), entry_6.get()))
button_2 = Button(self.frame_1, text="清除", command=lambda: self.clearentry())
button_1.grid(row=6, column=0)
button_2.grid(row=6, column=1)
def showallstudent(self):
for widget in self.frame_1.winfo_children():
widget.destroy()
scrollBar = Scrollbar(self.frame_1)
scrollBarx = Scrollbar(self.frame_1, orient=HORIZONTAL)
scrollBar.pack(side=RIGHT, fill=Y)
scrollBarx.pack(side=BOTTOM, fill=X)
lb = Listbox(self.frame_1, width=111, height=32,)
lb.pack()
scrollBar.config(command=lb.yview)
scrollBarx.config(command=lb.xview)
Database.showstudent(Database, self.user, self.password, lb)
浙公网安备 33010602011771号