我现在需要在程序中建立一个信号与槽的机制,方法都是按照以前的做法来进行的,可就是没能触发槽函数的执行,各位大侠帮忙看看,我是实在找不出问题所在了。我在类startwindow里实例化了类对象arrange,并定义了槽函数,代码如下:
private: //这是在startwindow.h中的
Ui::startwindow *ui;
Widget w;
arrange arrange1;
QSqlTableModel *model;
private slots:
void on_pushButton_clicked();
void reciveWaveTest(QByteArray str);
然后在类arrange里定义了信号函数,并发送信号,代码如下:
//这是在arrange.h中的
signals:
void sendWaveTest(QByteArray str);
//这是在arrange.cpp里一个函数中发射的信号
str = waveTest[2];
emit sendWaveTest(str);
最后在startwindow.cpp中实现connect和槽函数:
connect(&arrange1 , SIGNAL(sendWaveTest(QByteArray)), this, SLOT(reciveWaveTest(QByteArray))); //构造函数中
//下面是槽函数
void startwindow::reciveWaveTest(QByteArray str)
{
qDebug()<<"波长检测回传结果为:"<<str;
}
我的实现方法都和以前的做法一样,这里唯一的区别就是类startwindow是主界面,在main.cpp中实例化的。请各位路过的大侠帮忙指点指点吧,困惑我很久了。。。