Qt中QTableView 使用QStandardItemModel 模型,如何自定义列的宽度
时间: 2024-02-25 21:51:57 浏览: 199
使用QStandardItemModel作为QTableView的数据模型时,可以通过QHeaderView的setSectionResizeMode方法设置列的自动适应模式,也可以通过setSectionResizeMode和setSectionResizeMode方法分别设置每一列的宽度和最小宽度。
例如,以下代码将第一列的宽度设置为100,第二列的最小宽度设置为50:
```python
# 创建QTableView和QStandardItemModel
table_view = QTableView()
model = QStandardItemModel()
# 添加数据到模型中
model.setItem(0, 0, QStandardItem("Item 1"))
model.setItem(0, 1, QStandardItem("Item 2"))
# 设置QTableView的模型
table_view.setModel(model)
# 设置第一列的宽度为100
table_view.setColumnWidth(0, 100)
# 设置第二列的最小宽度为50
table_view.horizontalHeader().setMinimumSectionSize(50)
```
需要注意的是,当设置列宽度时,如果列宽度过小,可能会导致无法显示完整内容。如果需要自适应列宽度,可以使用QHeaderView的setSectionResizeMode方法设置列的自动适应模式。例如,以下代码将所有的列都设置为自适应模式:
```python
# 将所有列设置为自适应模式
table_view.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
```
这样,QTableView中的每一列都会根据内容自动调整宽度。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044736.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)