Pyqt5之QTableWidget设置列宽行高大小的几种方式

列宽、行高自动分配

# 列宽自动分配
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
 # 行高自动分配
self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)

表格适应内容指定列

self.tableWidget..resizeColumnToContents(column)

手动调整

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)

固定值

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Fixed)

用户无法调整该部分的大小。该部分只能使用resizeSection()以编程方式调整大小。节大小默认为defaultSectionSize。

随内容分配列宽

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)

随内容分配行高

self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.tableWidget.verticalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)

水平方向标签拓展剩下的窗口部分,填满表格

self.tableWidget.horizontalHeader().setStretchLastSection(True)

列宽是自动分配的,但是第一列可手动调整宽度,而表格整体的列宽仍是自动分配的。第二、三列办法调整列宽,自动分配的。

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)

https://doc.qt.io/qt-5/qheaderview.html#ResizeMode-enum

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • 一时回忆起高中,记起那些陪伴我同窗的老师们。 高一的生物老师,一位班里人名不记的老师唯独记得我一个人,对于当时小小...
    F_Pure阅读 313评论 3 2