Python PyQt5 读者操作界面开发:实现表格第一列不可编辑
Python PyQt5 读者操作界面开发:实现表格第一列不可编辑
本文将介绍如何使用 Python PyQt5 开发一个简单的读者操作界面,并重点讲解如何设置 QTableWidget 的第一列为只读,防止用户修改借书证号。
代码示例
from PyQt5.QtWidgets import QMainWindow, QLabel, QLineEdit, QPushButton, QTableWidget, QAbstractItemView, QStyledItemDelegate
class Oper_Reader_Window(QMainWindow):
def __init__(self, parent=None):
super(Oper_Reader_Window, self).__init__(parent)
self.setWindowTitle('读者操作界面')
self.resize(400, 300)
# 创建界面控件
self.label_readerName = QLabel('输入姓名:')
self.edit_readerName = QLineEdit()
self.btn_search_readerName = QPushButton('搜索')
self.table_reader = QTableWidget(5, 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.table_reader.setEditTriggers(QAbstractItemView.NoEditTriggers) # 设置为不可编辑
self.table_reader.setItemDelegateForColumn(0, QStyledItemDelegate()) # 设置第一列为只读
代码解析
- 创建 QTableWidget: 使用
QTableWidget(5, 7)创建一个 5 行 7 列的表格,并设置列标题。 - 设置不可编辑: 使用
setEditTriggers(QAbstractItemView.NoEditTriggers)将表格设置为不可编辑状态。 - 设置第一列只读: 使用
setItemDelegateForColumn(0, QStyledItemDelegate())将第一列设置为只读,允许用户查看但无法修改借书证号。
总结
通过以上代码,我们成功地实现了 QTableWidget 的第一列不可编辑的功能,保证了借书证号的完整性和安全性。你可以根据自己的需求进行进一步的调整和扩展。
原文地址: https://www.cveoy.top/t/topic/oPKT 著作权归作者所有。请勿转载和采集!