7 自定义信号和槽
7.1 自定义信号
7.1.1 写到 signals下
7.1.2 返回 void
7.1.3 需要声明,不需要实现
7.1.4 可以有参数 ,可以重载
7.2 自定义槽函数
7.2.1 返回void
7.2.2 需要声明 ,也需要实现
7.2.3 可以有参数 ,可以重载
7.2.4 写到 public slot下 或者public 或者全局函数
7.3 触发自定义的信号
7.3.1 emit 自定义信号
7.4 案例-下课后,老师触发饿了信号,学生响应信号,请客吃饭
///
只有继承了QObject类的类,才具有信号槽的能力。所以,为了使用信号槽,必须继承QObject。凡是QObject类(不管是直接子类还是间接子类),都应该在第一行代码写上Q_OBJECT。
8 当自定义信号和槽出现重载
8.1 需要利用函数指针 明确指向函数的地址
8.2 void( Teacher:: *teacherSignal )( QString ) = &Teacher::hungry;//teacherSingal为自己命名的函数指针
8.3 QString 转成 char *
8.4 信号可以连接信号
8.5 断开信号 disconnect
//拓展
// 一个信号可以连接多个槽函数
// 多个个信号可以连接一个槽函数
// 信号和槽函数的参数必须类型一一对应
// 信号和槽的参数个数,是不是需要一一对应?信号的参数个数可以多于槽参数的个数