首页 > 其他 > 详细

PyQt5中QTableWidget设置列宽大小的几种方式

时间:2019-03-11 11:15:51      阅读:501      评论:0      收藏:0      [点我收藏+]

 

我们在使用QTableWidget的时候,经常会出现列宽大小和我们想象不一致的情况,如下图:

技术分享图片

内容不能完全显示,需要手动调整列宽才能显示完全。

还有如下图:

技术分享图片

因此需要我们擅于调整列宽为我们所使用,现将列宽调整总结如下(行宽请参考):

列宽自动分配

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)

效果如下:

技术分享图片

PyQt5中QTableWidget设置列宽大小的几种方式

原文:https://www.cnblogs.com/liugp/p/10509123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!