我需要在发出信号之前检查信号是否存在监听器。
class Test(QObject):
test = pyqtSignal(str,dict)
def run(self):
if self.receivers(SIGNAL("test(str,dict)"):
self.test.emit('blablabla',{})`
信号连接到右边的插槽,并成功发出信号。
检查签名信号时,方法QObject.receivers()
显示此信号未连接。
我明白了,原因是签名不正确,我没有找到方法来指定信号的忠实签名。
最佳答案
在 pyqt5 中 SIGNAL 已弃用。它被替换为每个 QObject 的信号属性
如果 QObject.receivers(QObject.signal) > 0:
print('signal connected')
检查 QPushButton 信号 clicked() 连接到任何插槽
button = QPushButton()
.
.
if button.receivers(button.clicked) > 0:
.....
关于python - pyqtSignal 和 QObject.receivers(..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7609291/