再设计一个包含借书,还书,预约功能的zhujiemian
时间: 2024-03-16 13:44:17 浏览: 92
好的,以下是一个使用Python和Tkinter库编写的简单图书馆管理系统GUI,包含借书、还书和预约功能:
```python
import tkinter as tk
from tkinter import messagebox
# 数据库模拟
books = {'001': 'Python编程从入门到实践', '002': '数据结构与算法分析', '003': '计算机组成原理'}
users = {'admin': 'admin123'}
borrows = {}
# 登录功能
def login():
# 获取用户输入
username = username_entry.get()
password = password_entry.get()
# 检查用户名和密码是否为空
if not username or not password:
messagebox.showerror('错误', '请输入用户名和密码')
return
# 检查用户名和密码是否匹配
if username not in users or users[username] != password:
messagebox.showerror('错误', '用户名或密码不正确')
return
# 登录成功,打开主界面
# 这里可以添加更多功能,如借书、还书等
messagebox.showinfo('成功', '登录成功!')
main_window()
# 借书功能
def borrow():
# 获取用户输入
book_id = book_id_entry.get()
# 检查书籍是否存在
if book_id not in books:
messagebox.showerror('错误', '该书籍不存在')
return
# 检查书籍是否已被借出
if book_id in borrows:
messagebox.showerror('错误', '该书籍已被借出')
return
# 借书成功,将书籍添加到借出列表中
borrows[book_id] = username_entry.get()
messagebox.showinfo('成功', '借书成功!')
# 还书功能
def return_book():
# 获取用户输入
book_id = book_id_entry.get()
# 检查书籍是否存在
if book_id not in books:
messagebox.showerror('错误', '该书籍不存在')
return
# 检查书籍是否已被借出
if book_id not in borrows:
messagebox.showerror('错误', '该书籍未被借出')
return
# 检查还书者是否为借书者
if borrows[book_id] != username_entry.get():
messagebox.showerror('错误', '该书籍不是您借的')
return
# 还书成功,将书籍从借出列表中删除
del borrows[book_id]
messagebox.showinfo('成功', '还书成功!')
# 预约功能
def reserve():
# 获取用户输入
book_id = book_id_entry.get()
# 检查书籍是否存在
if book_id not in books:
messagebox.showerror('错误', '该书籍不存在')
return
# 检查书籍是否已被借出
if book_id in borrows:
messagebox.showerror('错误', '该书籍已被借出')
return
# 预约成功
messagebox.showinfo('成功', '预约成功!')
# 主界面
def main_window():
# 创建新窗口
window = tk.Tk()
window.title('图书馆管理系统')
window.geometry('300x200')
# 创建标签和输入框
username_label = tk.Label(window, text='用户名:')
username_label.pack()
username_entry = tk.Entry(window)
username_entry.pack()
book_id_label = tk.Label(window, text='书籍编号:')
book_id_label.pack()
book_id_entry = tk.Entry(window)
book_id_entry.pack()
# 创建按钮
borrow_button = tk.Button(window, text='借书', command=borrow)
borrow_button.pack()
return_button = tk.Button(window, text='还书', command=return_book)
return_button.pack()
reserve_button = tk.Button(window, text='预约', command=reserve)
reserve_button.pack()
# 运行窗口
window.mainloop()
# 创建登录窗口
login_window = tk.Tk()
login_window.title('登录')
login_window.geometry('300x200')
username_label = tk.Label(login_window, text='用户名:')
username_label.pack()
username_entry = tk.Entry(login_window)
username_entry.pack()
password_label = tk.Label(login_window, text='密码:')
password_label.pack()
password_entry = tk.Entry(login_window, show='*')
password_entry.pack()
login_button = tk.Button(login_window, text='登录', command=login)
login_button.pack()
# 运行登录窗口
login_window.mainloop()
```
这个GUI使用了一个字典来模拟图书馆的书籍、用户和借出列表。在登录功能中,当用户输入正确的用户名和密码后,会打开主界面。主界面包含了借书、还书和预约功能,分别检查用户输入的书籍编号是否存在、是否已被借出或是否已被预约,并根据结果进行相应的操作。
您可以根据需要扩展和修改这个GUI,例如添加更多功能、美化界面等。希望这个示例对您有所帮助!
阅读全文