python pyqt5表格,含有3个表头
时间: 2023-06-18 19:06:19 浏览: 49
使用QTableWidget可以创建一个带有多个表头的表格,如下所示:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
from PyQt5.QtCore import Qt
# 创建应用对象
app = QApplication([])
# 创建表格对象
table = QTableWidget()
# 设置行数和列数
table.setRowCount(5)
table.setColumnCount(3)
# 设置表头
table.setHorizontalHeaderLabels(['表头1', '表头2', '表头3'])
# 设置第一行表头
header1 = QTableWidgetItem('表头1')
header2 = QTableWidgetItem('表头2')
header3 = QTableWidgetItem('表头3')
table.setVerticalHeaderItem(0, header1)
table.setVerticalHeaderItem(1, header2)
table.setVerticalHeaderItem(2, header3)
# 设置第二行表头
header4 = QTableWidgetItem('子表头1')
header5 = QTableWidgetItem('子表头2')
header6 = QTableWidgetItem('子表头3')
table.setVerticalHeaderItem(3, header4)
table.setVerticalHeaderItem(4, header5)
table.setVerticalHeaderItem(5, header6)
# 设置表格内容
for i in range(5):
for j in range(3):
item = QTableWidgetItem('(%d, %d)' % (i, j))
table.setItem(i, j, item)
# 设置表格样式
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
table.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
table.setShowGrid(True)
table.setGridStyle(Qt.SolidLine)
# 显示表格
table.show()
# 运行主循环
app.exec_()
```
这里我们使用了`setVerticalHeaderItem`方法设置了第一行和第二行的表头,并使用`setHorizontalHeaderLabels`方法设置了第一行的表头。如果需要更多的表头,可以继续设置更多的行表头或者列表头。同时,我们还设置了表格的内容和样式。