PyQt5基础学习-多个信号对应多个槽

这里主要是有两种情况:

1.一个信号连接多个槽函数

2.多个信号连接一个槽函数

复制代码
"""
信号槽N对N连接与断开连接
"""
from PyQt5.QtCore import *

class NNSignal(QObject):
    signal1 = pyqtSignal()
    signal2 = pyqtSignal(int)
    signal3 = pyqtSignal()
    def __init__(self):
        super(NNSignal, self).__init__()

        # 一个信号连接多个槽函数
        self.signal1.connect(self.call1)
        self.signal1.connect(self.call11)

        #多个信号连接一个槽函数
        self.signal3.connect(self.call1)
        self.signal1.emit()
        self.signal3.emit()

        """
        #信号2连接信号1 
        self.signal2.connect(self.signal1)
        self.signal2.emit(2) #本质上触发了信号1

        #解除关联
        # self.signal1.disconnect(self.call1)
        # self.signal1.disconnect(self.call11)
        self.signal2.disconnect(self.signal1)

        self.signal1.connect(self.call1)
        self.signal2.connect(self.call2)

        self.signal1.emit()
        self.signal2.emit(100)
        """


    def call1(self):
        print("call1 emit")

    def call11(self):
        print("call11 emit")


    def call2(self, val):
        print("call2 emit:", val)


if __name__ == "__main__":
    nnSignal = NNSignal()
复制代码

 

posted @   c语言我的最爱  阅读(378)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示