qtableview添加表头
时间: 2023-09-25 13:09:04 浏览: 136
QTableView添加表头需要使用QHeaderView类。首先,设置表格的水平和垂直表头可见性:
```python
tableView.horizontalHeader().setVisible(True)
tableView.verticalHeader().setVisible(True)
```
然后可以使用setHorizontalHeaderLabels()方法设置水平表头,并使用setVerticalHeaderLabels()方法设置垂直表头。例如,设置水平表头为"Name"和"Age":
```python
header = tableView.horizontalHeader()
headerLabels = ["Name", "Age"]
header.setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
header.setStretchLastSection(True)
tableView.setHorizontalHeaderLabels(headerLabels)
```
在这个例子中,setSectionResizeMode()方法将水平表头的所有列设置为自动调整大小,并且setStretchLastSection()方法将最后一列拉伸到填充剩余空间。如果想要自定义每一列的宽度,可以使用setSectionResizeMode()方法的其他选项。
类似地,使用setVerticalHeaderLabels()方法设置垂直表头。例如,设置垂直表头为"Row 1"和"Row 2":
```python
header = tableView.verticalHeader()
headerLabels = ["Row 1", "Row 2"]
header.setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
header.setStretchLastSection(True)
tableView.setVerticalHeaderLabels(headerLabels)
```
最终的代码应该类似于以下内容:
```python
tableView.horizontalHeader().setVisible(True)
tableView.verticalHeader().setVisible(True)
header = tableView.horizontalHeader()
headerLabels = ["Name", "Age"]
header.setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
header.setStretchLastSection(True)
tableView.setHorizontalHeaderLabels(headerLabels)
header = tableView.verticalHeader()
headerLabels = ["Row 1", "Row 2"]
header.setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
header.setStretchLastSection(True)
tableView.setVerticalHeaderLabels(headerLabels)
```
阅读全文