PyQT中QTableWidget如何根据单元格内容设置自动宽度

 更新时间:2023年05月30日 10:39:54   作者:Junexus  
这篇文章主要介绍了PyQT中QTableWidget如何根据单元格内容设置自动宽度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

QTableWidget根据单元格内容设置自动宽度

比如当前有一个表格对象ws1, 现在向表格中添加内容:

list = ['故人西辞黄鹤楼, 烟花三月下扬州', '忽如一夜春风来, 千树万树梨花开']
for i in lsit :
	ws1. setItem(0, list.index(i), QTablewidgetItem(i))

执行后显示为:

如果需要将内容显示完整, 需要在代码后加上:

for i in lsit :
	ws1. setItem(0, list.index(i), QTablewidgetItem(i))
ws1.resizeColumnsToContents()

这样整个工作表都将自动为单元格内容自动设置宽度:

如果你只需要设置某一列为自动宽度, 则只需要修改参数:

for i in lsit :
	ws1. setItem(0, list.index(i), QTablewidgetItem(i))
ws1.resizeColumnToContents(0)

则只有第一列会自动设置宽度:

另外还有以下用法:

resizeRowsToContents()
resizeRowToContents(int)

可根据实际情况使用

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

我们在使用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)

效果如下:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python画条形图实例

    python画条形图实例

    这篇文章主要为大家详细介绍了python画条形图实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Python数据结构dict常用操作代码实例

    Python数据结构dict常用操作代码实例

    这篇文章主要介绍了Python数据结构dict常用操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python基于百度API识别并提取图片中文字

    Python基于百度API识别并提取图片中文字

    本文主要实现了利用百度 AI 开发平台的 OCR 文字识别 API 识别并提取图片中的文字。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • 如何配置关联Python 解释器 Anaconda的教程(图解)

    如何配置关联Python 解释器 Anaconda的教程(图解)

    这篇文章主要介绍了如何配置关联Python 解释器 Anaconda的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习火锅工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python参数解析器configparser简介

    Python参数解析器configparser简介

    configparser是python自带的配置参数解析器,可以用于解析.config文件中的配置参数,ini文件中由sections(节点)-key-value组成,这篇文章主要介绍了Python参数解析器configparser,需要的朋友可以参考下
    2022-12-12
  • Python读取HTML中的canvas并且以图片形式存入Word文档

    Python读取HTML中的canvas并且以图片形式存入Word文档

    这篇文章主要介绍了Python读取HTML中的canvas并且以图片形式存入Word文档,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Sublime Text4 配置 Python3 环境、代码提示、编译报错的解决方案

    Sublime Text4 配置 Python3 环境、代码提示、编译报错的解决方案

    这篇文章主要介绍了Sublime Text4 配置 Python3 环境、代码提示、编译报错教程,通过图文并茂的形式给大家介绍了配置自动代码提示的方法,需要的朋友可以参考下
    2022-01-01
  • python学习开发mock接口

    python学习开发mock接口

    这篇文章主要为大家详细介绍了python学习开发mock接口的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Python更新所有安装的包的实现方式

    Python更新所有安装的包的实现方式

    这篇文章主要介绍了Python更新所有安装的包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Python监控服务器实用工具psutil使用解析

    Python监控服务器实用工具psutil使用解析

    这篇文章主要介绍了Python监控服务器实用工具psutil使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论