升级 python 后,当我在 PySide6 对象的子类中调用
object.__setattr__
时,出现“类型错误:无法将此 setattr 应用于 MyObject 对象”。
这是重现错误的代码
from PySide6 import QtWidgets
class A(QtWidgets.QGraphicsWidget):
def __setattr__(self, name, val):
object.__setattr__(self, name, val)
if __name__ == '__main__':
a = A()
a.foo = 3
不确定这是来自 python、PySide 还是我遗漏的其他东西的错误或预期行为。为什么会出现此错误,如何解决?
我尝试在 python 3.8.2 中为 PySide2 和 PySide6 运行上面的代码(我也测试了一些颠覆)一切正常。 它对于更新的 python 版本失败(还测试了不同的 PySide 和 python 3.9.13、3.10.13 和 3.11.2) 我在 Windows 10 上。
我发现的关于此类错误的其他类似问题仅与this issue有关,该问题是在python 3.8.4中引入并在3.8.5中修复的