Qtablewidget固定第一列内容
时间: 2024-09-27 19:11:56 浏览: 17
QT表格固定第一列,拖动时第一列不会遮挡
在Qt中,要实现QTableWidget的第一列固定,你可以按照以下步骤操作:
1. 创建`QTableWidget`实例并设置好列数和行数。
2. 设置第一列作为不可编辑的头部(`setColumnFlags()`方法):
```python
table_widget.setHorizontalHeaderItem(0, QTableWidgetItem('Fixed Column'))
flags = Qt.ItemIsUserCheckable | Qt.ItemIsEnabled
table_widget.setColumnFlags(0, flags)
```
3. 使用`setResizeMode(QHeaderView.ResizeToContents)`或`setResizeMode(QHeaderView.Stretch)`来控制第一列的大小适应:
```python
header = table_widget.horizontalHeader()
header.setSectionResizeMode(0, QHeaderView.ResizeToContents) # 或者 QHeaderView.Stretch
```
4. 如果你希望在拖动时保持第一列不动,可以禁用其可拖动性:
```python
header.setDragEnabled(False)
```
这样,当你滚动或拖动其他列时,第一列会始终保持可见。请注意,这适用于`QHeaderView`的水平方向调整。如果你需要垂直方向的固定,可以应用类似的方法到`QTableWidget::verticalHeader()`。
阅读全文