qtablewidget设置表头宽度按比例,不可拖动
时间: 2023-09-03 19:16:56 浏览: 353
jQuery+js 实现Table表格可任意拖动调整列宽度大小 适用于列表页等表头拖动宽度设置
4星 · 用户满意度95%
要设置QTableWidget的表头宽度按比例分配,并且不可拖动,可以使用QHeaderView的setSectionResizeMode方法。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QHeaderView
app = QApplication([])
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(5)
table.setHorizontalHeaderLabels(['Column 1', 'Column 2', 'Column 3'])
header = table.horizontalHeader()
header.setSectionResizeMode(0, QHeaderView.Stretch)
header.setSectionResizeMode(1, QHeaderView.ResizeToContents)
header.setSectionResizeMode(2, QHeaderView.Stretch)
header.setMovable(False) # 禁止拖动表头
table.show()
app.exec_()
```
在上述代码中,我们首先创建了一个QTableWidget并设置了列数和行数。然后,我们使用setHorizontalHeaderLabels方法设置表头标签。接下来,我们获取了QTableWidget的水平表头对象,并使用setSectionResizeMode方法来设置列的调整模式。在这里,我们将第一列和第三列的宽度设置为可拉伸(按比例分配),第二列的宽度设置为根据内容调整(自动调整),并且禁止拖动表头。
请注意,这只是一个示例代码,您可以根据您的需求进行调整和修改。
阅读全文