本期内容:基于Tkinter+SQLite3的智能图书管理系统
实验需求:
项目下载地址:https://download.csdn.net/download/m0_68111267/88744196
本期博主将使用Tkinter和SQLite3技术实现一个GUI版智能图书管理系统,主要考察Python的GUI界面开发以及数据库的基本操作。
编写数据库文件"db.py",实现对sqlite3数据库的基本操作:
"""
作者:Want595
微信号:Want_595
公众号:Want595
"""
import sqlite3
class Database:
def __init__(self, db):
self.conn = sqlite3.connect(db)
self.cur = self.conn.cursor()
self.cur.execute("create table if not exists book(id integer primary key, title text, author text, year integer, isbn integer)")
self.conn.commit()
def insert(self, title, author, year, isbn):
self.cur.execute("insert into book values(null,?,?,?,?)", (title, author, year, isbn))
self.conn.commit()
def view(self):
self.cur.execute("select * from book")
rows = self.cur.fetchall()
return rows
def search(self, title="", author="", year="", isbn=""):
self.cur.execute("select * from book where title=? or author=? or year=? or isbn=?", (title, author, year, isbn))
rows =self.cur.fetchall()
return rows
def delete(self, id):
self.cur.execute("delete from book where id=?", (id,))
self.conn.commit()
def update(self, id, author, title, year, isbn):
self.cur.execute("update book set title=?, author=?, year=?, isbn=? where id=?", (title, author, year, isbn, id))
self.conn.commit()
def __del__(self):
self.conn.close()
这段代码是一个简单的图书管理系统,使用 SQLite 数据库来存储和管理图书信息。
首先,在类的构造函数中建立了一个 SQLite 数据库连接,并创建了一个名为 “book” 的表,该表有五个列分别是 id、title、author、year 和 isbn。id 列被指定为主键,并自动递增。
接下来,类中定义了几个方法来执行不同的数据库操作:
最后,类中的 del 方法用于在对象被销毁时关闭数据库连接。
这段代码实现了一个简单的图书管理系统,可以添加、查看、搜索、删除和更新图书信息。它使用了 SQLite 数据库作为数据存储的后端,并提供了一组简单的接口来操作数据库中的数据。
编写GUI界面文件"book.py",实现图书信息的展示:
from tkinter import *
from db import Database
database = Database("books.db")
class BookManageSystem:
def __init__(self, root):
self.root = root
self.root.title("图书管理系统")
l1 = Label(root, text="书名")
l1.grid(row=0, column=0)
l2 = Label(root, text="作者")
l2.grid(row=0, column=2)
l3 = Label(root, text="出版时间")
l3.grid(row=1, column=0)
l4 = Label(root, text="ISBN")
l4.grid(row=1, column=2)
self.title_text = StringVar()
self.e1 = Entry(root, textvariable=self.title_text)
self.e1.grid(row=0, column=1)
……请下载后查看完整代码
这段代码是一个基本的图书管理系统。首先通过import语句引入必需的库和模块,然后创建一个名为BookManageSystem的类。
在BookManageSystem的构造函数中,初始化了一个Tkinter的根窗口root,并设置了窗口的标题为"图书管理系统"。然后通过Label控件创建了四个标签,用于显示"书名"、“作者”、"出版时间"和"ISBN"这四个字段。接着通过Entry控件创建了四个文本框,用于用户输入图书的相关信息。使用了StringVar类型的变量来绑定这些文本框的值。接下来创建了一个Listbox控件用于显示图书列表,并创建了一个Scrollbar控件用于支持列表的滚动。
接下来是几个按钮,分别对应查看所有图书、搜索图书、添加图书、修改图书和删除图书等操作。其中每个按钮都绑定了相应的命令函数。最后创建了一个退出按钮用于关闭程序。
BookManageSystem类中定义了一些命令函数,包括view_command函数用于显示所有图书、search_command函数用于搜索图书、add_command函数用于添加图书、delete_command函数用于删除图书以及update_command函数用于修改图书。这些函数内部调用了数据库操作类的相关方法。
在程序的最后,创建了一个Tk()对象root,并设置窗口的宽度和高度。然后通过计算窗口的坐标,将窗口居中显示。最后创建了一个BookManageSystem对象,并调用mainloop()方法来显示窗口以及处理事件循环。
该程序的功能是实现一个简单的图书管理系统,用户可以通过界面进行图书的增删改查操作,并将数据存储在数据库中。
我是一只有趣的兔子,感谢你的喜欢!