一.通过代码的方式加qt类自带的信号,与自定义的槽函数,实现信号槽:
1.在类中声明一个槽函数:
private slots:
void TimcrEvent();//定义一个槽函数专门处理定时器槽函数
2.在类中定义一个槽函数:
void MainWindow::TimcrEvent()
{
qDebug()<<"你好呀";
}
3.然后就可以连接自定义信号和槽:
connect(timer,&QTimer::timeout,this, &MainWindow::TimcrEvent);
timer:为qt类对象指针
QTimer::timeout:qt类自带信号
this:当前类自定义指针
&MainWindow::TimcrEvent:自定义函数地址
二.通过自定义对象的信号和自定义对象的槽函数实现
1.在类中定义一个信号:
signals:
void sendArray(int a);
2.在类中声名一个槽:
private slots:
void TimcrEvent(int b);//定义一个槽函数专门处理定时器槽函数
3.在类中定义一个槽函数:
void MainWindow::TimcrEvent(int b)
{
qDebug()<<"你好呀"<<b;
}
4.就可以连接信号槽函数了
connect(this,SIGNAL(sendArray(int)),this, SLOT(TimcrEvent(int)));
注意:发射信号的方法举例
在该类的方法中:emit sendArray(100);
二.通过lambda表达式自定义对象的信号和自定义对象的槽函数实现
1.在类中定义一个信号:
signals:
void sendArray(int a);
4.就可以连接信号槽函数了
connect(this,&MainWindow::sendArray,this,[=](int a){
});
注意:发射信号的方法举例
在该类的方法中:emit sendArray(100);