一个python学生管理系统登录页面没啥技术含量 python可视化页面 tkinter

直接贴效果

 

 

 

 

 

贴代码

import tkinter
import tkinter.messagebox

username_data = ['admin']
password_data = ['123456']
# 创建应用程序窗口
root = tkinter.Tk()
root.title("学生管理系统")
root.geometry("500x300")
un = tkinter.StringVar()
un.set('')
pw = tkinter.StringVar()
pw.set('')


def login():
    username = un.get()
    password = pw.get()
    if username in username_data:
        if password == password_data[username_data.index(username)]:
            tkinter.messagebox.showinfo(title='学生管理系统', message='登录成功!')
        else:
            tkinter.messagebox.showerror('学生管理系统', message='账号或密码错误!')
    else:
        tkinter.messagebox.showerror('学生管理系统', message='账号或密码错误!')


def register():
    username = un.get()
    password = pw.get()
    if username != '' and password != '':
        if username in username_data:
            tkinter.messagebox.showinfo(title='学生管理系统', message='该用户名已存在!')
        else:
            username_data.append(username)
            password_data.append(password)
            tkinter.messagebox.showinfo(title='学生管理系统', message='注册成功!')
    else:
        tkinter.messagebox.showinfo(title='学生管理系统', message='请将信息补充完整!')


def cancel():
    un.set('')
    pw.set('')


tkinter.Label(root, text='请输入用户名和密码', justify=tkinter.CENTER, width=150).place(x=175, y=10, width=150, height=20)
tkinter.Label(root, text='用户名:', justify=tkinter.RIGHT, width=80).place(x=135, y=50, width=80, height=20)
tkinter.Entry(root, width=80, textvariable=un).place(x=215, y=50, width=150, height=20)
tkinter.Label(root, text='密 码:', justify=tkinter.RIGHT, width=80).place(x=135, y=90, width=80, height=20)
tkinter.Entry(root, show='*', width=80, textvariable=pw).place(x=215, y=90, width=150, height=20)
tkinter.Button(root, text='登录', command=login).place(x=155, y=130, width=50, height=20)
tkinter.Button(root, text='注册', command=register).place(x=225, y=130, width=50, height=20)
tkinter.Button(root, text='取消', command=cancel).place(x=315, y=130, width=50, height=20)
# 启动消息循环
root.mainloop()

这个是将账号密码保存在两个数组里边了,还有一种方法是用列表和字典嵌套存账号和密码

import tkinter
import tkinter.messagebox

student = [
    {"username": "admin", "password": "123456"}
]

# 创建应用程序窗口
win = tkinter.Tk()
win.title("学生管理系统")
win.geometry("300x200")

name = tkinter.StringVar()
name.set('')
passwords = tkinter.StringVar()
passwords.set('')


def login():
    username = name.get()
    password = passwords.get()

    for i in range(0, len(student)):
        if username in student[i]["username"]:
            if password == student[i]["password"]:
                tkinter.messagebox.showinfo(title='学生管理系统', message='登录成功!')
            else:
                tkinter.messagebox.showerror('学生管理系统', message='账号或密码错误!')
            break
        if i == len(student) - 1:
            tkinter.messagebox.showerror('学生管理系统', message='账号或密码错误!')


def register():
    username = name.get()
    password = passwords.get()
    if username != '' and password != '':
        for i in range(0, len(student)):
            if username == student[i]["username"]:
                tkinter.messagebox.showinfo(title='学生管理系统', message='该用户名已存在!')
                break
            else:
                if i == len(student) - 1:
                    item = {"username": username, "password": password}
                    student.append(item)
                    tkinter.messagebox.showinfo(title='学生管理系统', message='注册成功!')
                    break
    else:
        tkinter.messagebox.showinfo(title='学生管理系统', message='请将信息补充完整!')


def cancel():
    name.set('')
    passwords.set('')


tkinter.Label(win, text='请输入用户名和密码', justify=tkinter.CENTER, width=150).place(x=75, y=10, width=150, height=20)
tkinter.Label(win, text='用户名:', justify=tkinter.RIGHT, width=80).place(x=35, y=50, width=80, height=20)
tkinter.Entry(win, width=80, textvariable=name).place(x=115, y=50, width=150, height=20)
tkinter.Label(win, text='密 码:', justify=tkinter.RIGHT, width=80).place(x=35, y=90, width=80, height=20)
tkinter.Entry(win, show='*', width=80, textvariable=passwords).place(x=115, y=90, width=150, height=20)
tkinter.Button(win, text='登录', command=login).place(x=55, y=130, width=50, height=20)
tkinter.Button(win, text='注册', command=register).place(x=135, y=130, width=50, height=20)
tkinter.Button(win, text='取消', command=cancel).place(x=215, y=130, width=50, height=20)
# 启动消息循环
win.mainloop()

效果相同

好的,我可以给您提供一个简单的可视化学生管理系统界面,代码如下: ```python import tkinter as tk class StudentManagementSystem: def __init__(self, master): self.master = master master.title("学生管理系统") master.geometry("400x300") # 姓名标签和输入框 self.name_label = tk.Label(master, text="姓名:") self.name_label.grid(row=0, column=0) self.name_entry = tk.Entry(master) self.name_entry.grid(row=0, column=1) # 年龄标签和输入框 self.age_label = tk.Label(master, text="年龄:") self.age_label.grid(row=1, column=0) self.age_entry = tk.Entry(master) self.age_entry.grid(row=1, column=1) # 性别标签和选择框 self.gender_label = tk.Label(master, text="性别:") self.gender_label.grid(row=2, column=0) self.gender_var = tk.StringVar() self.gender_var.set("男") self.gender_menu = tk.OptionMenu(master, self.gender_var, "男", "女") self.gender_menu.grid(row=2, column=1) # 添加学生按钮 self.add_button = tk.Button(master, text="添加学生", command=self.add_student) self.add_button.grid(row=3, column=0) # 显示学生信息的文本框 self.info_text = tk.Text(master) self.info_text.grid(row=4, column=0, columnspan=2) def add_student(self): name = self.name_entry.get() age = self.age_entry.get() gender = self.gender_var.get() student_info = f"姓名:{name} 年龄:{age} 性别:{gender}" self.info_text.insert(tk.END, student_info + "\n") root = tk.Tk() my_gui = StudentManagementSystem(root) root.mainloop() ``` 这个界面有三个输入框,分别是姓名、年龄和性别,还有一个添加学生的按钮和一个文本框用于显示学生信息。用户输入学生信息并点击添加学生按钮,程序会将学生信息添加到文本框中。 这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦可尤曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值