python界面编程学生信息管理系统_Python题目:学生信息管理系统-高级版(图形界面+MySQL数据库)...

这是一个使用Python的Tkinter库创建的学生信息管理系统,包括管理员和学生登录界面,支持与MySQL数据库交互。用户可以进行登录、信息查看、数据更新和删除操作。
摘要由CSDN通过智能技术生成

#!/usr/bin/python3

import pymysql

from tkinter

import ttk

import tkinter

as tk

import tkinter.font

as tkFont

from tkinter

import *

# 图形界面库

import tkinter.messagebox

as messagebox

# 弹窗

class StartPage:

def __init__(self, parent_window):

parent_window.destroy()

# 销毁子界面

self.window = tk.Tk()

# 初始框的声明

self.window.title(

'学生信息管理系统')

self.window.geometry(

'300x470')

# 这里的乘是小x

label = Label(self.window, text=

"学生信息管理系统", font=(

"Verdana",

20))

label.pack(pady=

100)

# pady=100 界面的长度

Button(self.window, text=

"管理员登陆", font=tkFont.Font(size=

16), command=

lambda: AdminPage(self.window), width=

30, height=

2,

fg=

'white', bg=

'gray', activebackground=

'black', activeforeground=

'white').pack()

Button(self.window, text=

"学生登陆", font=tkFont.Font(size=

16), command=

lambda: StudentPage(self.window), width=

30,

height=

2,fg=

'white', bg=

'gray', activebackground=

'black', activeforeground=

'white').pack()

Button(self.window, text=

"关于", font=tkFont.Font(size=

16), command=

lambda: AboutPage(self.window), width=

30, height=

2,

fg=

'white', bg=

'gray', activebackground=

'black', activeforeground=

'white').pack()

Button(self.window, text=

'退出系统', height=

2, font=tkFont.Font(size=

16), width=

30, command=self.window.destroy,

fg=

'white', bg=

'gray', activebackground=

'black', activeforeground=

'white').pack()

self.window.mainloop()

# 主消息循环

#管理员登陆页面

class AdminPage:

def __init__(self, parent_window):

parent_window.destroy()

# 销毁主界面

self.window = tk.Tk()

# 初始框的声明

self.window.title(

'管理员登陆页面')

self.window.geometry(

'300x450')

# 这里的乘是小x

label = tk.Label(self.window, text=

'管理员登陆', bg=

'green', font=(

'Verdana',

20), width=

30, height=

2)

label.pack()

Label(self.window, text=

'管理员账号:', font=tkFont.Font(size=

14)).pack(pady=

25)

self.admin_username = tk.Entry(self.window, width=

30, font=tkFont.Font(size=

14), bg=

'Ivory')

self.admin_username.pack()

Label(self.window, text=

'管理员密码:', font=tkFont.Font(size=

14)).pack(pady=

25)

self.admin_pass = tk.Entry(self.window, width=

30, font=tkFont.Font(size=

14), bg=

'Ivory', show=

'*')

self.admin_pass.pack()

Button(self.window, text=

"登陆", width=

8, font=tkFont.Font(size=

12), command=self.login).pack(pady=

40)

Button(self.window, text=

"返回首页", width=

8, font=tkFont.Font(size=

12), command=self.back).pack()

self.window.protocol(

"WM_DELETE_WINDOW", self.back)

# 捕捉右上角关闭点击

self.window.mainloop()

# 进入消息循环

def login(self):

print(str(self.admin_username.get()))

print(str(self.admin_pass.get()))

admin_pass =

None

# 数据库操作 查询管理员表

db = pymysql.connect(

"localhost",

"root",

"root",

"student")

# 打开数据库连接

cursor = db.cursor()

# 使用cursor()方法获取操作游标

sql =

"SELECT * FROM admin_login_k WHERE admin_id = '%s'" % (self.admin_username.get())

# SQL 查询语句

try:

# 执行SQL语句

cursor.execute(sql)

# 获取所有记录列表

results = cursor.fetchall()

for row

in results:

admin_id = row[

0]

admin_pass = row[

1]

# 打印结果

print(

"admin_id=%s,admin_pass=%s" % (admin_id, admin_pass))

except:

print(

"Error: unable to fecth data")

messagebox.showinfo(

'警告!',

'用户名或密码不正确!')

db.close()

# 关闭数据库连接

print(

"正在登陆管理员管理界面")

print(

"self",self.admin_pass)

print(

"local",admin_pass)

if self.admin_pass.get() == admin_pass:

AdminManage(self.window)

# 进入管理员操作界面

else:

messagebox.showinfo(

'警告!',

'用户名或密码不正确!')

def back(self):

StartPage(self.window)

# 显示主窗口 销毁本窗口

#学生登陆页面

class StudentPage:

def __init__(self, parent_window):

parent_window.destroy()

# 销毁主界面

self.window = tk.Tk()

# 初始框的声明

self.window.title(

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值