QT信号槽

1.连接方式:connect(参数1:信号的发送者, 参数2:发送的信号,参数3: 信号的接收者, 参数4:处理信号的槽函数)

connect(mybut, &MyPushButton::clicked, this, &MyWidget::close);
// (参数1:信号的发送者, 参数2:发送的信号,参数3: 信号的接收者, 参数4:处理信号的槽函数)
//松散耦合
//disconnect()

2.自定义信号和槽
信号:

写到signals下
返回 void
需要声明,不需要实现
可以有参数,可以重载

槽函数:

需要声明,也需要实现
可以有参数,可以重载
写到public slots下,或者public或者全局下

触发自定义信号: emit

//信号连接信号  信号再连接槽函数
//信号连接槽函数
//一个信号可以连接多个槽函数,
//多个信号可以连接同一个槽函数     -->信号类似广播出去,需要的自己取响应

当自定义信号和槽出现重载:

//需要利用函数指针,明确指向函数的地址
void (Teachar::*teacharSignal)(QString) = &Teachar::hungry;
QString 转成 char *
//QString -> char * 先转成 QByteArray, 再转char *
qDebug() <

你可能感兴趣的:(c/c++,c++,类,编程语言)