以下是我的代码,如何将从数据库获取到的数据初始化在表格内
def list(text: Text):
"""
根据条件查询图书信息
:param Hbook: 查询参数
:return:
"""
con = None
try:
con = dbUtil.getCon()
cursor = con.cursor()
# 查询数据
sql = "SELECT tID,plain FROM text WHERE tID=tID "
cursor.execute(sql)
con.commit()
return cursor.fetchall()
except Exception as e:
print(f"查询数据时发生错误: {e}")
if con is not None:
con.rollback()
return None
finally:
dbUtil.closeCon(con)
def initTable(self):
"""
根据条件初始化表格
:return:
"""
result = textDao.list()
row = 0
if result:
row = len(result)
self.bookListTable.setColumnCount(2)
self.bookListTable.setRowCount(row)
self.bookListTable.verticalHeader().setVisible(False) # 隐藏垂直标题 序号
self.bookListTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) # 禁止编辑单元格
self.bookListTable.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
self.bookListTable.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
self.bookListTable.setHorizontalHeaderLabels(
['留言编号', '留言内容'])
self.bookListTable.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) # 列头自适应
self.bookListTable.setSelectionBehavior(
QAbstractItemView.SelectionBehavior.SelectRows) # 设置选择行为,以行为单位
for i, record in enumerate(result):
for j in range(2):
data = QtWidgets.QTableWidgetItem(str(record[j]))
# 设置单元格内容居中对齐
data.setTextAlignment(Qt.AlignmentFlag.AlignCenter)
self.bookListTable.setItem(i, j, data)