Python PyQt5 图书管理系统:实现图书删除功能
Python PyQt5 图书管理系统:实现图书删除功能
本教程将向您展示如何使用 Python PyQt5 开发图书管理系统,并实现删除图书的功能。我们将使用 QTableWidget 显示图书信息,并通过点击删除按钮来删除选中的图书,同时更新数据库和界面显示。
1. 代码示例:
from PyQt5.QtWidgets import QMainWindow, QLabel, QLineEdit, QPushButton, QTableWidget, QMessageBox, QWidget, QGridLayout
from db_helper import DBHelper # 导入数据库操作类
class Oper_Book_Window(QMainWindow):
def __init__(self, parent=None):
super(Oper_Book_Window, self).__init__(parent)
self.setWindowTitle('图书操作界面')
self.resize(400, 300)
# 创建界面控件
self.label_bookname = QLabel('输入书名:')
self.edit_bookname = QLineEdit()
self.btn_search = QPushButton('搜索')
self.table_book = QTableWidget(5, 7)
self.table_book.setHorizontalHeaderLabels(['图书ID', '书名', '作者', '出版社', '出版日期', '价格', '是否借出'])
self.label_choose_oper = QLabel('选择操作')
self.btn_add_book = QPushButton('添加图书')
self.btn_alter_book = QPushButton('修改选中图书')
self.btn_del_book = QPushButton('删除图书')
# 将控件添加到布局中
layout1 = QGridLayout()
layout1.addWidget(self.label_bookname, 0, 0)
layout1.addWidget(self.btn_add_book, 0, 1)
layout1.addWidget(self.edit_bookname, 1, 0)
layout1.addWidget(self.btn_alter_book, 1, 1)
layout1.addWidget(self.btn_search, 2, 0)
layout1.addWidget(self.btn_del_book, 2, 1)
layout1.addWidget(self.table_book, 3, 0)
self.centralWidget = QWidget()
self.centralWidget.setLayout(layout1)
self.setCentralWidget(self.centralWidget)
# 连接按钮信号与槽函数
self.connect_slot()
def delete_book(self):
# 获取选中行的行号
selected_row = self.table_book.currentRow()
if selected_row < 0:
QMessageBox.warning(self, '警告', '请先选择要删除的图书')
return
book_id = self.table_book.item(selected_row, 0).text()
# 从数据库中删除该图书信息
db = DBHelper()
db.delete_book(book_id)
# 从QTableWidget中删除该行
self.table_book.removeRow(selected_row)
def connect_slot(self):
self.btn_del_book.clicked.connect(self.delete_book)
2. 代码说明:
delete_book方法:- 获取
QTableWidget中选中行的行号。 - 如果没有选中行,则弹出警告信息并返回。
- 获取选中行中图书 ID 的文本值。
- 使用
DBHelper类从数据库中删除该图书信息。 - 从
QTableWidget中删除该行。
- 获取
connect_slot方法:- 将
btn_del_book按钮的点击信号连接到delete_book方法。
- 将
3. 运行程序:
在程序运行后,您可以选择要删除的图书,然后点击删除按钮,程序将从数据库和界面中删除该图书。
4. 注意:
- 请确保已安装 PyQt5 库。
DBHelper类是一个用于操作数据库的类,您需要根据您的数据库类型实现该类。- 这只是一个简单的示例,您可以根据您的需要进行扩展和修改。
5. 总结:
本文介绍了如何使用 Python PyQt5 开发图书管理系统,并实现删除图书的功能。通过使用 QTableWidget 和 QMessageBox,我们可以方便地进行用户交互和数据操作。
希望本文能够帮助您更好地理解 PyQt5 的使用,并为您的项目提供一些参考。
原文地址: https://www.cveoy.top/t/topic/oPfQ 著作权归作者所有。请勿转载和采集!