当前位置:实例文章 » 其他实例» [文章]Python 图书管理系统 GUI界面 (源码在最后)

Python 图书管理系统 GUI界面 (源码在最后)

发布人:shili8 发布时间:2024-10-15 11:56 阅读次数:0

**图书管理系统 GUI 界面**

图书管理系统是用于管理图书馆的软件系统。它可以帮助管理员管理图书的借出、归还、添加和删除等功能。下面我们将使用 Python语言和 Tkinter 库来实现一个简单的图书管理系统 GUI 界面。

**系统功能**

1. 添加图书:用户可以添加新的图书到系统中。
2. 借出图书:用户可以借出已经存在的图书。
3. 归还图书:用户可以归还已经借出的图书。
4. 删除图书:管理员可以删除已经存在的图书。
5. 查询图书:用户可以查询所有的图书信息。

**系统设计**

1. 使用 Tkinter 库创建 GUI 界面。
2. 使用 SQLite 数据库来存储图书信息。
3. 使用 Python语言编写系统逻辑。

**代码实现**

import tkinter as tkfrom tkinter import messageboximport sqlite3# 创建数据库连接conn = sqlite3.connect('book.db')
cursor = conn.cursor()

# 创建表格cursor.execute('''
 CREATE TABLE IF NOT EXISTS book (
 id INTEGER PRIMARY KEY,
 title TEXT NOT NULL,
 author TEXT NOT NULL,
 status TEXT NOT NULL DEFAULT 'available'
 )
''')

class BookManagementSystem:
 def __init__(self, root):
 self.root = root self.root.title('图书管理系统')
 self.create_widgets()

 def create_widgets(self):
 # 添加图书按钮 add_button = tk.Button(self.root, text='添加图书', command=self.add_book)
 add_button.pack(pady=10)

 # 借出图书按钮 borrow_button = tk.Button(self.root, text='借出图书', command=self.borrow_book)
 borrow_button.pack(pady=10)

 # 归还图书按钮 return_button = tk.Button(self.root, text='归还图书', command=self.return_book)
 return_button.pack(pady=10)

 # 删除图书按钮 delete_button = tk.Button(self.root, text='删除图书', command=self.delete_book)
 delete_button.pack(pady=10)

 # 查询图书按钮 query_button = tk.Button(self.root, text='查询图书', command=self.query_book)
 query_button.pack(pady=10)

 def add_book(self):
 # 创建添加图书窗口 add_window = tk.Toplevel(self.root)
 add_window.title('添加图书')

 # 标签和输入框 title_label = tk.Label(add_window, text='标题:')
 title_label.grid(row=0, column=0)
 title_entry = tk.Entry(add_window)
 title_entry.grid(row=0, column=1)

 author_label = tk.Label(add_window, text='作者:')
 author_label.grid(row=1, column=0)
 author_entry = tk.Entry(add_window)
 author_entry.grid(row=1, column=1)

 # 确定按钮 confirm_button = tk.Button(add_window, text='确定', command=lambda: self.add_book_to_db(title_entry.get(), author_entry.get()))
 confirm_button.grid(row=2, column=0, columnspan=2)

 def add_book_to_db(self, title, author):
 # 添加图书到数据库 cursor.execute('INSERT INTO book (title, author) VALUES (?, ?)', (title, author))
 conn.commit()
 messagebox.showinfo('提示', '添加成功!')

 def borrow_book(self):
 # 创建借出图书窗口 borrow_window = tk.Toplevel(self.root)
 borrow_window.title('借出图书')

 # 标签和输入框 title_label = tk.Label(borrow_window, text='标题:')
 title_label.grid(row=0, column=0)
 title_entry = tk.Entry(borrow_window)
 title_entry.grid(row=0, column=1)

 # 确定按钮 confirm_button = tk.Button(borrow_window, text='确定', command=lambda: self.borrow_book_from_db(title_entry.get()))
 confirm_button.grid(row=1, column=0, columnspan=2)

 def borrow_book_from_db(self, title):
 # 借出图书到数据库 cursor.execute('UPDATE book SET status = ? WHERE title = ?', ('borrowed', title))
 conn.commit()
 messagebox.showinfo('提示', '借出成功!')

 def return_book(self):
 # 创建归还图书窗口 return_window = tk.Toplevel(self.root)
 return_window.title('归还图书')

 # 标签和输入框 title_label = tk.Label(return_window, text='标题:')
 title_label.grid(row=0, column=0)
 title_entry = tk.Entry(return_window)
 title_entry.grid(row=0, column=1)

 # 确定按钮 confirm_button = tk.Button(return_window, text='确定', command=lambda: self.return_book_to_db(title_entry.get()))
 confirm_button.grid(row=1, column=0, columnspan=2)

 def return_book_to_db(self, title):
 # 归还图书到数据库 cursor.execute('UPDATE book SET status = ? WHERE title = ?', ('available', title))
 conn.commit()
 messagebox.showinfo('提示', '归还成功!')

 def delete_book(self):
 # 创建删除图书窗口 delete_window = tk.Toplevel(self.root)
 delete_window.title('删除图书')

 # 标签和输入框 title_label = tk.Label(delete_window, text='标题:')
 title_label.grid(row=0, column=0)
 title_entry = tk.Entry(delete_window)
 title_entry.grid(row=0, column=1)

 # 确定按钮 confirm_button = tk.Button(delete_window, text='确定', command=lambda: self.delete_book_from_db(title_entry.get()))
 confirm_button.grid(row=1, column=0, columnspan=2)

 def delete_book_from_db(self, title):
 # 删除图书到数据库 cursor.execute('DELETE FROM book WHERE title = ?', (title,))
 conn.commit()
 messagebox.showinfo('提示', '删除成功!')

 def query_book(self):
 # 创建查询图书窗口 query_window = tk.Toplevel(self.root)
 query_window.title('查询图书')

 # 标签和输入框 title_label = tk.Label(query_window, text='标题:')
 title_label.grid(row=0, column=0)
 title_entry = tk.Entry(query_window)
 title_entry.grid(row=0, column=1)

 # 确定按钮 confirm_button = tk.Button(query_window, text='确定', command=lambda: self.query_book_from_db(title_entry.get()))
 confirm_button.grid(row=1, column=0, columnspan=2)

 def query_book_from_db(self, title):
 # 查询图书到数据库 cursor.execute('SELECT * FROM book WHERE title = ?', (title,))
 result = cursor.fetchone()
 if result:
 messagebox.showinfo('提示', '标题:{}作者:{} 状态:{}'.format(result[1], result[2], result[3]))
 else:
 messagebox.showinfo('提示', '未找到图书!')

root = tk.Tk()
app = BookManagementSystem(root)
root.mainloop()

conn.close()


**注意**

* 这个代码实现了一个简单的图书管理系统 GUI 界面。
* 用户可以添加、借出、归还和删除图书。
* 系统使用 SQLite 数据库来存储图书信息。
*请在运行前确保 Python 和 Tkinter 库已安装。

**结束**

以上就是本文对 Python 图书管理系统 GUI 界面的实现过程。希望通过这个例子,读者能够更好地理解如何使用 Tkinter 库和 SQLite 数据库来创建一个简单的图书管理系统 GUI 界面。

相关标签:python开发语言
其他信息

其他资源

Top