QTableWidget设置表头的宽和高
时间: 2024-11-19 16:12:46 浏览: 40
QTableWidget设置表头筛选(含鼠标点击事件过滤)
5星 · 资源好评率100%
在QTableWidget中,设置表头的宽度和高度主要是通过`setHorizontalHeaderSectionResizePolicy()`和`setVerticalHeaderSectionResizePolicy()`这两个方法来实现的,分别对应水平方向和垂直方向的列标题大小调整策略。
如果你想固定表头列的宽度,可以使用`setHorizontalHeaderSectionResizePolicy(Qt::Fixed)`,这将阻止用户自适应缩放该列。如果你想要用户可以根据内容自动调整列宽,可以使用`Qt::Stretch`。
对于表头行的高度,由于QTableWidget默认并不支持自定义行高,如果需要,通常会通过创建自定义的头部视图(如QHeaderView或者自绘)来实现,这样可以更精细地控制每个单元格的尺寸。
以下是一个简单的例子:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTableWidget, QTableWidgetItem
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.table.setColumnCount(3)
self.table.setHorizontalHeaderLabels(["Name", "Age", "Email"])
# 设置第一列(索引0)的宽度为固定值
self.table.horizontalHeader().setSectionResizePolicy(0, Qt.QHeaderView.Fixed)
self.table.horizontalHeader().resizeSection(0, 100) # 设置固定宽度为100像素
layout = QVBoxLayout()
layout.addWidget(self.table)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
阅读全文