求助,链接了信号槽偶尔信号函数触发但是槽函数没反应
SendReceiveTool::SendReceiveTool(QWidget *parent) :
QWidget(parent),
ui(new Ui::SendReceiveTool)
{
ui->setupUi(this);
ptimer = new QTimer(this);
QObject::connect(ptimer,SIGNAL(timeout()),this,SLOT(display()));
QObject::connect(&mCRS232C0,SIGNAL(RS232sendData(QByteArray)),this,SLOT(GetSendData(QByteArray)));
QObject::connect(&mCRS232C0,SIGNAL(RS232ReceiveData(QByteArray)),this,SLOT(GetRecvData(QByteArray)));
QObject::connect(&mCRS232C1,SIGNAL(RS232sendData(QByteArray)),this,SLOT(GetSendData(QByteArray)));
QObject::connect(&mCRS232C1,SIGNAL(RS232ReceiveData(QByteArray)),this,SLOT(GetRecvData(QByteArray)));
QObject::connect(&mCRS232C2,SIGNAL(RS232sendData(QByteArray)),this,SLOT(GetSendData(QByteArray)));
QObject::connect(&mCRS232C2,SIGNAL(RS232ReceiveData(QByteArray)),this,SLOT(GetRecvData(QByteArray)));
QObject::connect(&mCRS232C3,SIGNAL(RS232sendData(QByteArray)),this,SLOT(GetSendData(QByteArray)));
QObject::connect(&mCRS232C3,SIGNAL(RS232ReceiveData(QByteArray)),this,SLOT(GetRecvData(QByteArray)));
current_date_time = QDateTime::currentDateTime();
ui->LB_Alert->setVisible(false);
}
void SendReceiveTool::GetRecvData(QByteArray reData)
{
#ifndef RS232_TEST
#else
ptimer->stop();
if(reData.count() != 0)
{
for(int i = 0; i < reData.count();i++)
{
byte value = reData.at(i);
QString data = QString("%1").arg(value,2,16,QLatin1Char('0'));
Str_ReData.append(data);
Str_ReData.append(" ");
}
}
ptimer->start(50);
#endif
}
void SendReceiveTool::GetRecvData(QByteArray reData)
{
#ifndef RS232_TEST
#else
ptimer->stop();
if(reData.count() != 0)
{
for(int i = 0; i < reData.count();i++)
{
byte value = reData.at(i);
QString data = QString("%1").arg(value,2,16,QLatin1Char('0'));
Str_ReData.append(data);
Str_ReData.append(" ");
}
}
ptimer->start(50);
#endif
}