qt信号与槽(自定义)
自定义信号与槽
在qt里,我们可以自己去定义信号与槽。
这里举个栗子:
信号的定义
在我们类里边定义一个信号,我们需要用signals:来声明,不用再去cpp文件里边定义。而且返回值必须是void,可以有参数。
槽函数的定义:
而槽函数直接就像普通函数一样写就行了,返回值不用只能是void了。
当我们用connect将他们连接起来,就要考虑参数多少的问题,在qt里面规定信号的参数个数一定是要大于槽函数的参数。这种规定就让我们的型号与槽有了多对多的特点,这也是qt里边一个非常有特点的东西。
这种自定义的东西就让我们有了低耦合特点。
lambda表达式:
对于我们的槽函数其实我们可以用lambda来定义这个槽函数。
对于上边的connect我们就可以用下边的来代替。