PYQT5,table列宽度,可以自动设置适应宽度吗?
时间: 2023-10-05 07:09:53 浏览: 46
是的,可以使用`QTableView`的`resizeColumnsToContents()`方法来自动设置列宽度适应内容宽度。该方法将会根据列中的内容自动调整列的宽度,使得整个表格更加美观。下面是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QHeaderView, QStandardItemModel, QMainWindow
if __name__ == '__main__':
app = QApplication([])
win = QMainWindow()
view = QTableView(win)
model = QStandardItemModel(view)
model.setHorizontalHeaderLabels(['Name', 'Age', 'Gender'])
model.appendRow([QStandardItem('Tom'), QStandardItem('20'), QStandardItem('Male')])
model.appendRow([QStandardItem('Jerry'), QStandardItem('22'), QStandardItem('Female')])
view.setModel(model)
view.resizeColumnsToContents()
view.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
win.setCentralWidget(view)
win.show()
app.exec_()
```
在上述代码中,我们使用了`QTableView`、`QStandardItemModel`和`QHeaderView`等控件来创建了一个简单的表格,并使用`resizeColumnsToContents()`方法来自动设置列宽度适应内容宽度。同时,我们也使用了`setSectionResizeMode()`方法来将表格列的宽度自适应窗口大小。