部分源码
-- codeing = utf-8 --
@Time:2021/11/7 16:01
@File:main2.py
from tkinter import *
from tkinter import messagebox
from PIL import Image,ImageTk
import home_page
import c_mysql
登录类
class Root:
# 初始化登录界面
def init(self):
self.login_windows = Tk()
self.login_windows.title(‘登录’)
self.login_windows.iconbitmap(r’图标.ico’)
self.serccn_width = self.login_windows.winfo_screenwidth()
self.serccn_height = self.login_windows.winfo_screenheight()
self.w = 500
self.h = 309
self.x = (self.serccn_width-500)/2
self.y = (self.serccn_height-309)/2
self.login_windows.geometry(‘%dx%d+%d+%d’%(self.w,self.h,self.x,self.y))
# 放置底图
self.img = Image.open(r’登录底图.png’)
self.basemap = ImageTk.PhotoImage(self.img)
self.basemap_label = Label(self.login_windows,image=self.basemap)
self.basemap_label.pack()
# 欢迎使用标签
self.welcome_label = Label(self.login_windows,text=‘欢迎登录’,font=(‘楷体’,48,‘’),bg=‘#136cbe’)
self.welcome_label.place(x=138,y=20)
# 账号密码标签bg=‘#136cbe’
self.account_label = Label(self.login_windows,text=‘账号’,font=(‘楷体’,14,‘’),bg=‘#136cbe’)
self.password_label = Label(self.login_windows,text=‘密码’,font=(‘楷体’,14,‘’),bg=‘#136cbe’)
# 放置账号密码标签
self.account_label.place(x=130,y=130)
self.password_label.place(x=130,y=170)
# 账号密码输入框
self.account_e = Entry(self.login_windows,font=(‘楷体’,14,‘’),relief=GROOVE)
self.password_e = Entry(self.login_windows,font=(‘楷体’,14,‘’),relief=GROOVE,show=‘*’)
# 放置账号密码输入框
self.account_e.place(x=180,y=130)
self.password_e.place(x=180,y=170)
# 登录退出按钮
self.login_button = Button(self.login_windows,text=‘登录’,font=(‘楷体’,14,‘’),bg=‘#136cbe’,relief=GROOVE,command=self.sign_verify)
self.quit_button = Button(self.login_windows,text=‘退出’,font=(‘楷体’,14,‘’),bg=‘#136cbe’,relief=GROOVE,command=self.quit_)
# 放置登录退出按钮
self.login_button.place(x=200,y=220)
self.quit_button.place(x=300,y=220)
# 持久化窗口
self.login_windows.mainloop()
# 登录验证
def sign_verify(self):
# 验证密码
# ——————————————————————————————————————————————
self.account_name = self.account_e.get()
self.password = self.password_e.get()
# 连接数据库
db6 = c_mysql.connect_mysql()
qdata = db6.cursor()
sql = '''select * from user ;'''
qdata.execute(sql)
userlist = qdata.fetchall()
# 关闭游标
qdata.close()
# 关闭链接
db6.close()
for li in userlist:
if self.account_name == li[0] and self.password == li[1]:
self.login_windows.destroy()
self.home = home_page.Root()
else:
messagebox.showerror('输入错误','用户名或密码错误')
pass
# 退出
def quit_(self):
self.login_windows.quit()
登录界面
主界面
添加学生信息
修改学生信息
删除学生信息
查询学生信息
显示全部信息
保存文件可以把所有学生信息保存为.xlsx文件格式
获取完整源码链接:
链接:https://pan.baidu.com/s/1h3Kd3eSWvHrTnFH90on8oQ?pwd=96ha
提取码:96ha