QTableWidget的基本用法(持续更新)
此篇文章中介绍PySide2中QTableWidget类的基本用法,包括设置表头标签、隐藏表头、设置禁止编辑单元格内容、设置表格单元格内容居中显示等,会持续进行更新,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。
from PySide2.QtWidgets import *
self.ui.tbData = QTableWidget(0, 12) # 初始化表格,参数分别是表格的行数、列数
self.ui.tbData.setHorizontalHeaderLabels(['序号', '记录时间',"温度", "上限", "下限", "单位", "湿度", "上限", "下限", "单位","用户信息", "编号"]) # 设置水平方向的表头标签
self.ui.tbData.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.ui.tbData.verticalHeader().setVisible(False) # 隐藏垂直方向表头
self.ui.tbData.horizontalHeader().setVisible(True) # 显示水平方向表头
self.ui.tbData.setShowGrid(True) # 表格中显示分割线
self.ui.tbData.setEditTriggers(QAbstractItemView.NoEditTriggers) # 禁止编辑单元格
self.ui.tbData.setSelectionBehavior(QAbstractItemView.SelectItems) # 设置表格单元格选中
# self.ui.tbData.setSelectionBehavior(QAbstractItemView.SelectRows) # 设置表格行选中
# self.ui.tbData.setSelectionBehavior(QAbstractItemView.SelectColumns) # 设置表格列选中
self.ui.tbData.setAlternatingRowColors(True) # 设置隔行变色方法
self.ui.tbData.insertRow(2) # 插入一行到第3行的位置
self.ui.tbData.removeRow(2) # 删除第3行
self.ui.tbData.item(1,3).setText('time') # 设置第2行,第4列单元格的内容
如果单元格已经被设置过内容:
self.ui.tbData(1,3).setText('time') # 改写第2行,第4列单元格的内容
for c in range(self.ui.tbData.columnCount()):
for r in range(self.ui.tbData.rowCount()):
self.ui.tbData.item(r, c).setTextAlignment(Qt.AlignCenter) # 设置单元格居中
self.ui.tbData.item(1, 3).setTextColor("blue") # 设置第2行,第4列单元格的字体为蓝色
rowCount = self.ui.tbData.rowCount() # 获取表格的行数
columnCount = self.ui.tbData.columnCount() # 获取表格的列数
self.ui.tbData.clearContents() # 删除所有单元格内容,表头会留下
self.ui.tbData.setRowCount(0) # 删除所有单元格内容,表头也删除
self.ui.tbData.verticalScrollBar().setSliderPosition(self.ui.tbData.rowCount()) # 滚动条自动滚动至底部