Python利用图形用户界面实现图书管理系统的登录、主界面和注册页面
时间: 2024-02-04 09:01:59 浏览: 89
图书管理系统登录界面
4星 · 用户满意度95%
好的,下面是一个简单的Python图书管理系统的登录、主界面和注册页面的实现。这个实现基于Python的Tkinter库来实现图形用户界面。
```
import tkinter as tk
import random
class BookManagementSystem:
def __init__(self, master):
self.master = master
self.master.title("图书管理系统")
self.master.geometry("400x300")
# 登录页面
self.login_frame = tk.Frame(self.master)
self.login_frame.pack(fill=tk.BOTH, expand=True)
self.username_label = tk.Label(self.login_frame, text="用户名:")
self.username_label.pack()
self.username_entry = tk.Entry(self.login_frame)
self.username_entry.pack()
self.password_label = tk.Label(self.login_frame, text="密码:")
self.password_label.pack()
self.password_entry = tk.Entry(self.login_frame, show="*")
self.password_entry.pack()
self.verifycode_label = tk.Label(self.login_frame, text="验证码:")
self.verifycode_label.pack()
self.verifycode_entry = tk.Entry(self.login_frame)
self.verifycode_entry.pack()
self.verifycode = self.generate_verifycode()
self.verifycode_label2 = tk.Label(self.login_frame, text=self.verifycode)
self.verifycode_label2.pack()
self.login_button = tk.Button(self.login_frame, text="登录", command=self.login)
self.login_button.pack()
self.register_button = tk.Button(self.login_frame, text="注册", command=self.register)
self.register_button.pack()
# 注册页面
self.register_frame = tk.Frame(self.master)
self.username_label2 = tk.Label(self.register_frame, text="用户名:")
self.username_label2.pack()
self.username_entry2 = tk.Entry(self.register_frame)
self.username_entry2.pack()
self.password_label2 = tk.Label(self.register_frame, text="密码:")
self.password_label2.pack()
self.password_entry2 = tk.Entry(self.register_frame, show="*")
self.password_entry2.pack()
self.email_label = tk.Label(self.register_frame, text="邮箱:")
self.email_label.pack()
self.email_entry = tk.Entry(self.register_frame)
self.email_entry.pack()
self.phone_label = tk.Label(self.register_frame, text="手机号:")
self.phone_label.pack()
self.phone_entry = tk.Entry(self.register_frame)
self.phone_entry.pack()
self.gender_label = tk.Label(self.register_frame, text="性别:")
self.gender_label.pack()
self.gender_entry = tk.Entry(self.register_frame)
self.gender_entry.pack()
self.register_button2 = tk.Button(self.register_frame, text="注册", command=self.register_submit)
self.register_button2.pack()
# 主界面
self.menu_frame = tk.Frame(self.master)
self.menu_frame.pack(fill=tk.BOTH, expand=True)
self.system_menu = tk.Menu(self.master)
self.book_menu = tk.Menu(self.system_menu, tearoff=0)
self.book_menu.add_command(label="添加图书")
self.book_menu.add_command(label="删除图书")
self.system_menu.add_cascade(label="图书管理", menu=self.book_menu)
self.reader_menu = tk.Menu(self.system_menu, tearoff=0)
self.reader_menu.add_command(label="添加读者")
self.reader_menu.add_command(label="删除读者")
self.system_menu.add_cascade(label="读者管理", menu=self.reader_menu)
self.borrow_menu = tk.Menu(self.system_menu, tearoff=0)
self.borrow_menu.add_command(label="借书")
self.borrow_menu.add_command(label="还书")
self.system_menu.add_cascade(label="借还书管理", menu=self.borrow_menu)
self.reserve_menu = tk.Menu(self.system_menu, tearoff=0)
self.reserve_menu.add_command(label="预约图书")
self.reserve_menu.add_command(label="取消预约")
self.system_menu.add_cascade(label="预约管理", menu=self.reserve_menu)
self.help_menu = tk.Menu(self.system_menu, tearoff=0)
self.help_menu2 = tk.Menu(self.help_menu, tearoff=0)
self.help_menu2.add_command(label="联系我们")
self.help_menu2.add_command(label="版本", command=self.show_version)
self.help_menu.add_cascade(label="帮助", menu=self.help_menu2)
self.master.config(menu=self.system_menu)
def generate_verifycode(self):
verifycode = ""
for i in range(6):
verifycode += chr(random.randint(65, 90))
return verifycode
def login(self):
if self.username_entry.get() == "admin" and self.password_entry.get() == "admin" and self.verifycode_entry.get() == self.verifycode:
self.login_frame.pack_forget()
self.menu_frame.pack(fill=tk.BOTH, expand=True)
else:
tk.messagebox.showerror("错误", "用户名或密码错误")
def register(self):
self.login_frame.pack_forget()
self.register_frame.pack(fill=tk.BOTH, expand=True)
def register_submit(self):
# 实现注册逻辑
tk.messagebox.showinfo("提示", "注册成功")
def show_version(self):
tk.messagebox.showinfo("版本", "版本号:1.0")
if __name__ == '__main__':
root = tk.Tk()
app = BookManagementSystem(root)
root.mainloop()
```
在这个实现中,我们定义了一个名为`BookManagementSystem`的类,用于封装登录、注册和主界面的实现。在构造函数中,我们创建了一个登录页面、一个注册页面和一个主界面,并分别实现了登录、注册和菜单的功能。在登录页面中,我们生成了一个6位字母的验证码,并将其显示在页面上。在登录时,我们检查用户名、密码和验证码是否正确,如果正确则进入主界面。在注册页面中,我们实现了一个注册表单,并在提交时提示注册成功。在主界面中,我们使用Tkinter的Menu控件实现了一个菜单栏,并添加了一些菜单项,包括图书管理、读者管理、借还书管理、预约管理和帮助。在帮助菜单中,我们添加了一个版本信息的弹出框。
阅读全文