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) 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章