PyQt中的信号

官方文档中解释:信号是一个类属性,作为类属性的时候,是一个unbound signal,但是在作为实例属性被引用的时候,会创建bound signals,只有bound signals才有connecet、disconnect、emit方法。Support for Signals and Slots — PyQt v5.15 Reference Guide (riverbankcomputing.com)

(在知乎一个评论中看到的,记录一下)

还有一个很神奇的现象,就是pyqtSignal()对象似乎必须在__init__()方法之前定义,像这样:

class Name:
    signal=pyqtSignal()

    def __init__(self):
        pass

而不能定义在__init__()方法里面,即这样:

class Name:
    def __init__(self):
        self.signal=pyqtSignal()

如果定义在初始化方法里面,运行的时候就会出错。定义在初始化方法之前时,调用方法同定义在初始化方法里面是一样的,但是可以正常运行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值