PyQt4 代码在 PyQt5 (QHeaderView) 上不起作用
Posted
技术标签:
【中文标题】PyQt4 代码在 PyQt5 (QHeaderView) 上不起作用【英文标题】:PyQt4 code not working on PyQt5 (QHeaderView) 【发布时间】:2014-10-01 12:16:41 【问题描述】:我使用的是 PyQt4,这段代码运行良好。
self.table.horizontalHeader().setResizeMode(1, QHeaderView.Stretch)
它正在拉伸表格中的一列。 但是当我用 PyQt5 运行代码时,我得到了这个错误:
Attribute Error: 'QHeaderView' object has no attribute 'setResizeMode'
你能帮忙吗?或者简单地说;如何在 PyQt5 中调整任何列?
【问题讨论】:
【参考方案1】:使用QHeaderView.setSectionResizeMode 代替QHeaderView.setResizeMode:
改用 setSectionResizeMode。
(引用自 QHeaderView.setResizeMode 的文档)
【讨论】:
【参考方案2】:在 PyQt5 中应该是:
header = self.table.horizontalHeader()
header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents)
header.setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents)
【讨论】:
以上是关于PyQt4 代码在 PyQt5 (QHeaderView) 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
PyQt 5.4参考指南 ---- PyQt5和PyQt4之间的差异
PyQt4 和 PyQt5 中的 QFileDialog 字符串有区别吗?