PyQt5中QTableWidget设置列宽大小的几种方式
2024-10-19 14:53:28
我们在使用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)
效果如下:
最新文章
- java 中包的概念,常量,静态与继承
- 【mysql】Blob类型
- iOS 开发线程 gcd
- SAP接口编程 之 JCo3.0系列(05) : Exception Handling
- 将cantk runtime嵌入到现有的APP中
- codeforces div.1 A
- svn项目冲突时显示无法加载项目的解决方法
- C#高效导出Excel(IList转DataTable,DataSet)
- yum 安装vim编辑器
- MacOS下Rails+Nginx+SSL环境的搭建(中)
- Vue(八):监听属性watch
- spring mvc静态资源请求和<;mvc:annotation-driven>;
- 使用转义防御XSS
- 详解如何将MathType嵌入word中
- Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)
- lofter个人网站文艺愤青下载
- debug运行java程序报错
- asp.net core microservices 架构之 分布式自动计算(一)
- vue-cli 配置路由之间跳转传递参数
- 七. PHP模式设计----运行及描写叙述任务