首页 > 解决方案 > PyQt5 QTableview 列调整大小

问题描述

使用具有 4 列(隐藏 1 列)的 PyQt5 QTableView。我需要将第一列和第三列固定为特定大小并允许中间列调整大小(即占用其余空间)。我尝试了以下策略,但它没有产生我正在寻找的东西:

self.icdDataView.setColumnWidth(1, 100)
self.icdDataView.setColumnWidth(3, 100)
hdr = self.icdDataView.horizontalHeader()
#hdr.setSectionResizeMode(1, QHeaderView.ResizeToContents)
hdr.setSectionResizeMode(2, QHeaderView.Stretch)
#hdr.setSectionResizeMode(3, QHeaderView.ResizeToContents)

关于如何实现的任何建议?

标签: pythonpyqt5

解决方案


找到了答案:

self.icdDataView.setModel(mdl)
self.icdDataView.setColumnHidden(0, True)
self.icdDataView.horizontalHeader().setStretchLastSection(False)
self.icdDataView.setColumnWidth(1, 100)
self.icdDataView.setColumnWidth(3, 100)
self.icdDataView.horizontalHeader().setSectionResizeMode(2, QHeaderView.Stretch)
self.icdDataView.selectRow(0)

推荐阅读