PyQt(Python+Qt)学习随笔:QTableWidget中表格各列平均分配宽度的两种方法
2023-09-27 14:26:56 时间
在QTableWidget表格部件中,如果需要实现表格中各列要占满部件中的可用空间,同时实现各列平分所有空间,有两种方法来实现。
方法一、设置水平表头的sectionResizeMode为Stretch
当水平表头的sectionResizeMode设置为QHeaderView.Stretch后,各列会自动均分表格部件显示部分的水平空间。
示例代码:
self.tableWidget.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
方法二、设置项的sizeHint属性
使用该方法时,必须设置水平表头的sectionResizeMode为QHeaderView.ResizeToContents,同时设置水平各项的sizeHint值为表格部件视口宽度除以列数的大小。
示例代码:
def setHeadSizeHint(self):
count = self.tableWidget.columnCount()
width = int(self.tableWidget.viewport().width()/count)
for col in range(count ):
horizontalHeaderItem = self.tableWidget.horizontalHeaderItem(col)
horizontalHeaderItem.setSizeHint(QtCore.QSize(width ,20))
self.tableWidget.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
上面的示例代码是以表头的列来为例介绍的,实际上数据行的列也可以同样使用。
附加说明:
- 方法二比方法一复杂很多,但这个方法除了做等分列宽,还可以根据应用需要设定各列不同的宽度比例
- 更多细节请参考《PyQt(Python+Qt)学习随笔:QTableWidget表格部件中行高和列宽的计算方式》
老猿Python,跟老猿学Python!
相关文章
- python使用mysql
- PyQt(Python+Qt)学习随笔:使用实例方法赋值方式捕获事件
- PyQt(Python+Qt)学习随笔:QMainWindow的tabifyDockWidget方法将QDockWidget两个停靠窗选项卡式排列
- PyQt(Python+Qt)学习随笔:containers容器类部件QStackedWidget重要方法介绍
- PyQt(Python+Qt)学习随笔:QTabWidget部件选项卡可用状态访问方法isTabEnabled、setTabEnabled
- PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件的currentWidget和widget方法
- PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件添加选项卡的addTab和insertTab方法
- PyQt(Python+Qt)学习随笔:QTableWidget的获取指定位置项的item和itemAt方法
- PyQt(Python+Qt)学习随笔:QTableWidget设置项的setItem方法
- 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中当前列currentColumn和选中项selectedItems访问方法
- PyQt(Python+Qt)学习随笔:QTreeWidget树型部件中的QTreeWidgetItem项构造方法
- PyQt(Python+Qt)学习随笔:树型部件的QTreeWidgetItem项中列不同角色数据的有关访问方法
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项中列数据的访问方法
- PyQt(Python+Qt)学习随笔:QListWidgetItem的重要方法
- PyQt(Python+Qt)学习随笔:QListWidget插入项的insertItem方法
- PyQt(Python+Qt)学习随笔:Model/View中的枚举类 Qt.MatchFlag的取值及含义
- PyQt(Python+Qt)学习随笔:QListView的layoutMode属性和batchSize属性
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性
- 第15.17节 PyQt(Python+Qt)入门学习:PyQt图形界面应用程序的事件捕获方法大全及对比分析
- PyQt(Python+Qt)学习随笔:QAbstractItemView的autoScroll和autoScrollMargin属性
- 第15.16节 PyQt(Python+Qt)入门学习:PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用
- PyQt(Python+Qt)学习随笔:部件拉伸策略sizePolicy优先级
- PyQt(Python+Qt)学习随笔:在一个窗口点击按钮弹出另一个窗口的实现方法及注意事项
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象documentMode属性
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的是否接受鼠标拖放事件的acceptDrops属性及含义