Qt 中也允许自定义信号
①自定义槽函数,非常关键.开发中大部分情况都是需要自定义槽函数的.
槽函数,就是用户触发某个操作之后,要进行的业务逻辑.
②自定义信号,比较少见.实际开发中很少会需要自定义信号.
信号就对应到用户的某个操作~
在 GUI,用户能够进行哪些操作,是可以穷举的~~
Qt 内置的信号,基本上已经覆盖到了上述所有可能的用户操作.
因此,使用 Qt 内置的信号,就足以应付大部分的开发场景了
自定义信号,本身代码比较简单的~
③Owidget
咱们的 Widget 虽然还没有定义任何信号, 由于继承自 QWidget, 和 QObject,这俩类里面已经提供了一些信号了,可以直接使用.
所谓的 Qt 的信号,本质上也就是一个“函数”
Qt 5 以及更高版本中,槽函数和普通的成员函数之间,没啥差别了.
④但是,信号,则是一类非常特殊的函数.
程序员只要写出函数声明,并且告诉 Qt,这是一个“信号”即可.
这个函数的定义,是 Qt 在编译过程中,自动生成的.(自动生成的过程,程序员无法干预)
(信号在 Qt 中是特殊的机制.Qt 生成的信号函数的实现,要配合 Qt 框架做很多既定的操作~~)
作为信号函数,这个函数的返回值,必须是 void
有没有参数都可以.甚至也可以支持重载
⑤signals:
这个也是 Qt 自己扩展出来的关键字~~
qmake 的时候, 调用一些代码的分析/生成工具
扫描到类中包含 siqnals 这个关键字的时候,此时,就会自动的把下面的函数声明认为是信号,并且给这些信号函数自动的生成函数定义