Python 图书管理系统:简单搜索功能实现

本文将使用 Python 和 PyQt5 库来创建一个简单的图书管理系统界面,并实现搜索图书的功能。

首先,我们将定义一个 Oper_Book_Window 类,该类继承自 QMainWindow 类,代表主窗口。

class Oper_Book_Window(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    # 初始化UI界面
    def initUI(self):
        # 设置窗口标题和大小
        self.setWindowTitle('图书操作界面')
        self.resize(400, 300)

        # 创建一个标签和一个文本框用于输入书名
        self.label_bookname = QLabel('输入书名:')
        self.edit_bookname = QLineEdit()

        # 创建一个按钮用于搜索
        self.btn_search = QPushButton('搜索')
        self.btn_search.clicked.connect(self.search_bookname)

        # 创建一个列表用于显示搜索结果
        self.list_book = QListWidget()

        # 创建一个垂直布局并将控件添加进去
        vbox = QVBoxLayout()
        vbox.addWidget(self.label_bookname)
        vbox.addWidget(self.edit_bookname)
        vbox.addWidget(self.btn_search)
        vbox.addWidget(self.list_book)

        # 设置窗口布局
        self.setLayout(vbox)

        # **将布局设置为主窗口的布局**
        self.centralWidget = QWidget()
        self.centralWidget.setLayout(vbox)
        self.setCentralWidget(self.centralWidget)

    # 搜索书名
    def search_bookname(self):
        # 获取输入的书名
        bookname = self.edit_bookname.text()

        # 连接数据库
        db = pymysql.connect('localhost', 'root', '123456', 'library')
        cursor = db.cursor()

        # 查询数据库
        sql = "SELECT * FROM LBook WHERE 书名 = ' %s '" % bookname
        try:
            cursor.execute(sql)
            results = cursor.fetchall()
            if results:
                # 如果找到了匹配的书名,则将结果添加到列表中
                self.list_book.clear()
                for row in results:
                    self.list_book.addItem(row[1])
            else:
                # 如果没有找到匹配的书名,则显示“无”
                self.list_book.clear()
                self.list_book.addItem('无')
        except:
            # 查询失败则提示错误信息
            QMessageBox.warning(self, 'Error', '查询失败')

initUI 方法中,我们创建了标签、文本框、按钮和列表控件,并使用 QVBoxLayout 将它们垂直排列。最后,我们使用 setCentralWidget 方法将布局设置为主窗口的布局。

search_bookname 方法中,我们获取用户输入的书名,连接数据库并执行查询操作。如果查询成功,我们将结果添加到列表中;否则,我们显示错误信息。

注意: 为了运行这段代码,需要安装 PyQt5pymysql 库。

通过这段代码,我们成功实现了简单的图书管理系统界面和搜索功能。你可以根据自己的需求添加更多功能,例如添加图书、删除图书等。

示例程序:

from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton, QListWidget, QVBoxLayout, QWidget, QMessageBox
import pymysql

class Oper_Book_Window(QMainWindow):
    # ...(代码同上)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Oper_Book_Window()
    window.show()
    sys.exit(app.exec_())
Python 图书管理系统:简单搜索功能实现

原文地址: https://www.cveoy.top/t/topic/oNfy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录