pyqt qtablewidget铺满表格并按比例显示宽度
时间: 2023-08-20 17:07:42 浏览: 105
可以使用QHeaderView的setSectionResizeMode方法来设置QTableWidget的列宽度的自动调整模式。具体步骤如下:
1. 创建QTableWidget对象,并设置为铺满父窗口的大小:
```python
tableWidget = QTableWidget()
tableWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
```
2. 设置表格的行数和列数:
```python
tableWidget.setRowCount(row_count)
tableWidget.setColumnCount(column_count)
```
3. 设置表头的自动调整模式为Stretch:
```python
header = tableWidget.horizontalHeader()
header.setSectionResizeMode(QHeaderView.Stretch)
```
这样就会使得每一列的宽度自动按比例铺满表格。
完整的示例代码如下:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QSizePolicy, QHeaderView
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
tableWidget = QTableWidget(self)
tableWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
tableWidget.setRowCount(5)
tableWidget.setColumnCount(3)
header = tableWidget.horizontalHeader()
header.setSectionResizeMode(QHeaderView.Stretch)
self.setCentralWidget(tableWidget)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
这样,QTableWidget的列宽度就会自动按比例铺满整个表格。