谢谢提示!完善了代码、测试和文档,现在可以处理 bound method 的弱引用了。
- 来自 水木社区APP v3.5.6
【 在 hgoldfish 的大作中提到: 】
: PyQt 的 slot 是弱引用。。我看你源代码好像没有处理。
:
: class MyDialog(QDialog):
: def __init__(self):
: super().__init__()
: self.button = QPushButton(self)
: self.button.clicked.connect(self.say_hello)
:
: def say_hello(self):
: print("hello, world!")
:
: 在以上代码里面:
:
: self.button.clicked.connect(self.say_hello)
:
: 形成了循环引用。销毁 MyDialog 的时候,因为循环引用的存在,有一定可能出问题。所以 PyQt 特别处理了一下。检测到 self.say_hello 有存在 __self__ 时改用 weakptr 存储。
--
FROM 183.179.53.*