self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
# self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
效果如下:
此种模式下,我们
没法手动调整列宽
。
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)
效果如下:
使用Qt设计师编译后生成的代码就是这种的。
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Fixed)
效果如下:
用户无法调整该部分的大小。该部分只能使用resizeSection()以编程方式调整大小。节大小默认为defaultSectionSize。
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)
我们把它和列宽自动分配结合在一起看,效果立马显现。
效果如下:
上面两种方式结合
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.Interactive)
效果如下:
看到没有,
列宽是自动分配的
,但是第一列我们可以
手动调整宽度
,而表格整体的列宽仍是
自动分配
的。第二、三列我们没有办法调整列宽,这个是自动分配的。
自定义列宽
self.tableWidget.setColumnWidth(0, 40)
self.tableWidget.setColumnWidth(1, 200)
self.tableWidget.setColumnWidth(2, 200)
效果如下: