qtablewidget控件设置自适应列宽
时间: 2023-09-04 11:13:11 浏览: 173
1. 使用resizeColumnsToContents()方法
该方法可以根据单元格内容自动调整列宽,具体操作如下:
```python
# 创建QTableWidget对象
tableWidget = QTableWidget()
# 设置列数和行数
tableWidget.setColumnCount(3)
tableWidget.setRowCount(5)
# 设置内容
for i in range(5):
for j in range(3):
item = QTableWidgetItem()
item.setText(str(i*j))
tableWidget.setItem(i,j,item)
# 调整列宽
tableWidget.resizeColumnsToContents()
```
2. 使用setColumnWidth()方法
该方法可以手动设置列宽,但需要提前知道每列的最大宽度,具体操作如下:
```python
# 创建QTableWidget对象
tableWidget = QTableWidget()
# 设置列数和行数
tableWidget.setColumnCount(3)
tableWidget.setRowCount(5)
# 设置内容
for i in range(5):
for j in range(3):
item = QTableWidgetItem()
item.setText(str(i*j))
tableWidget.setItem(i,j,item)
# 设置列宽
tableWidget.setColumnWidth(0, 100)
tableWidget.setColumnWidth(1, 150)
tableWidget.setColumnWidth(2, 200)
```
3. 使用setHorizontalHeader()方法
该方法可以设置表头的伸缩模式,具体操作如下:
```python
# 创建QTableWidget对象
tableWidget = QTableWidget()
# 设置列数和行数
tableWidget.setColumnCount(3)
tableWidget.setRowCount(5)
# 设置内容
for i in range(5):
for j in range(3):
item = QTableWidgetItem()
item.setText(str(i*j))
tableWidget.setItem(i,j,item)
# 设置表头伸缩模式
header = tableWidget.horizontalHeader()
header.setSectionResizeMode(QHeaderView.Stretch)
```
阅读全文