本篇介绍PyQt5中的QTableWidget,QTableWidget是一个表格控件。表格的第一行是行表头,第一列为列表头,除表头之外既是表格工作区。每一个单元格cell既是一个QTableWidgetItem对象。本篇Demo介绍QTableWidget对表格的操作。
新建一个窗口
窗口左面是表格的设置区域,中间区域是tableWidget控件,右侧是一个textBrowser,用来显示表格内的内容。
![44b6a1b8f6bdb71df206b014c3379cb9.png](https://i-blog.csdnimg.cn/blog_migrate/ff3e09ca490d6144a3d8b7b607e75a14.jpeg)
UI
QTableWidget
- 定义一个枚举类型类,来表示每个单元格的类型。
class CellTyp(Enum): ctName = 1000 ctSex = 1001 ctBirth = 1002 ctNation = 1003 ctAge = 1004 ctIsMarried = 1005
- 设置表头
- setColumnCount:设置列数。
- QTableWidgetItem:每一个cell就是一个QTableWidget对象,创建单元格。
- setFont:设置字体大小。
- setBackground:设置单元格背景颜色。
- setHosetrizontalHeaderItem:设置行表头。
def btnSetHeader_clicked(self): headerList = ["姓名", "省份", "性别", "出生日期", "民族", "年龄", "是否已婚"] self.tableWidget.setColumnCount(len(headerList)) for i in range(len(headerList)): headerItem = QTableWidgetItem(headerList[i]) font = headerItem.font() font.setPointSize(11) headerItem.setFont(font) headerItem.setBackground(QBrush(Qt.red)) self.tableWidget.setHorizontalHeaderItem(i, headerItem)