3
如果我有一個信號,並且我將一個對象函數註冊到信號中,這會使對象保持活動並停止該對象的垃圾回收?PyQT4 signal.connect是否使對象保持活動狀態?
E.g.
class Signals():
signal = Qt.pyqtSignal()
def __init__(self):
QObject.__init__(self)
class Test();
def __init__(self, s):
s.connect(self.done)
def done(self):
print("Done")
s = Signals()
t = Test(s.signal)
t = None
s.signal.emit()
測試對象仍會得到信號嗎?
是的,這在我的測試中似乎也是如此。我遇到的主要問題是處理QNetworkRequest完成信號。由於GC的原因,我必須有一個班級來處理每個請求,但它只會被「打」一段時間 –