Python Qt 读者操作界面设计与数据库交互
Python Qt 读者操作界面设计与数据库交互
本代码展示了使用 Python 的 Qt 库设计一个简单的读者操作界面,并演示了如何与数据库进行交互,实现读者信息查询、添加、修改和删除功能。
class Oper_Reader_Window(QMainWindow):
def __init__(self, privilege, parent=None):
super(Oper_Reader_Window, self).__init__(parent)
self.privilege = privilege
self.setWindowTitle('读者操作界面')
self.resize(900, 300)
# 创建界面控件
self.label_readerName = QLabel('输入姓名:')
self.edit_readerName = QLineEdit()
self.btn_search_readerName = QPushButton('搜索')
self.table_reader = QTableWidget(7, 7)
self.table_reader.setHorizontalHeaderLabels(['借书证号', '姓名', '性别', '出生年月', '借书量', '联系方式', '备注'])
self.label_choose_operReader = QLabel('选择操作')
self.btn_add_reader = QPushButton('添加读者')
self.btn_alter_reader = QPushButton('修改选中读者')
self.btn_del_reader = QPushButton('删除读者')
self.btn_back_2 = QPushButton('返回')
# 设置信号槽连接
self.btn_search_readerName.clicked.connect(self.search_readerName)
self.btn_add_reader.clicked.connect(self.add_reader)
self.btn_alter_reader.clicked.connect(self.alter_reader)
self.btn_del_reader.clicked.connect(self.del_reader)
self.btn_back_2.clicked.connect(self.back_2)
# 将控件添加到布局中
layout1 = QGridLayout()
layout1.addWidget(self.label_readerName, 0, 0)
layout1.addWidget(self.btn_add_reader, 0, 1)
layout1.addWidget(self.edit_readerName, 1, 0)
layout1.addWidget(self.btn_alter_reader, 1, 1)
layout1.addWidget(self.btn_search_readerName, 2, 0)
layout1.addWidget(self.btn_del_reader, 2, 1)
layout1.addWidget(self.table_reader, 3, 0)
layout1.addWidget(self.btn_back_2, 3, 1)
self.centralWidget = QWidget()
self.centralWidget.setLayout(layout1)
self.setCentralWidget(self.centralWidget)
def back_2(self):
current_row = self.table_reader.currentRow()
if current_row == -1:
QMessageBox.warning(self, '警告', '请先选择读者')
return
reader_id = self.table_reader.item(current_row, 0).text()
reader_info = db.select_reader_by_id(reader_id)
QMessageBox.information(self, '读者信息', f'借书证号:{reader_info[0]}
姓名:{reader_info[1]}
性别:{reader_info[2]}
出生年月:{reader_info[3]}
借书量:{reader_info[4]}
联系方式:{reader_info[5]}
备注:{reader_info[6]}')
代码说明:
- 导入必要的库:
from PyQt5.QtWidgets import * - 创建窗口:
class Oper_Reader_Window(QMainWindow): - 初始化界面: 在
__init__方法中,创建界面控件,并设置布局。 - 连接信号槽: 将按钮的 clicked 信号连接到相应的处理函数。
back_2函数:- 获取当前选中行的借书证号。
- 调用
db.select_reader_by_id(reader_id)函数查询数据库,获取读者信息。 - 使用
QMessageBox.information弹窗显示读者信息。
注意:
db是一个数据库操作对象,需要根据实际情况进行定义。select_reader_by_id是一个数据库查询函数,需要根据数据库结构进行编写。
本示例代码展示了一个简单的读者操作界面的设计思路,读者可以根据自己的需求进行修改和扩展。
原文地址: https://www.cveoy.top/t/topic/oQVW 著作权归作者所有。请勿转载和采集!