static assertion failed: Signal and slot arguments are not compatible
-
I dont know why I am getting this error:```
test.cppSerial Ensayo; test::test(QWidget *parent): QWidget(parent), ui(new Ui::test) { ui->setupUi(this); qDebug() << Ensayo.connectArduino(); connect(&Ensayo, &Serial::dataReady, this, SLOT(dataArrived())); } void test::dataArrived() { newData = Ensayo.getData(); }
serial.cpp
void Serial::readSerial() { QByteArray serialData = arduino->readAll(); serialBuffer += QString::fromStdString(serialData.toStdString()); if (serialBuffer.contains("inicio") && serialBuffer.contains(",final")) { int startPos = serialBuffer.indexOf("inicio") + 6; int lengthData = serialBuffer.indexOf(",final", startPos) - startPos; QString prioData = serialBuffer.mid(startPos, lengthData); justData = prioData.split(","); serialBuffer.remove(0, startPos+lengthData + 6); if (dataPrint) qDebug() << justData; if (ensayo) emit dataReady(); } }
-
I dont know why I am getting this error:```
test.cppSerial Ensayo; test::test(QWidget *parent): QWidget(parent), ui(new Ui::test) { ui->setupUi(this); qDebug() << Ensayo.connectArduino(); connect(&Ensayo, &Serial::dataReady, this, SLOT(dataArrived())); } void test::dataArrived() { newData = Ensayo.getData(); }
serial.cpp
void Serial::readSerial() { QByteArray serialData = arduino->readAll(); serialBuffer += QString::fromStdString(serialData.toStdString()); if (serialBuffer.contains("inicio") && serialBuffer.contains(",final")) { int startPos = serialBuffer.indexOf("inicio") + 6; int lengthData = serialBuffer.indexOf(",final", startPos) - startPos; QString prioData = serialBuffer.mid(startPos, lengthData); justData = prioData.split(","); serialBuffer.remove(0, startPos+lengthData + 6); if (dataPrint) qDebug() << justData; if (ensayo) emit dataReady(); } }
@GGG03 said in static assertion failed: Signal and slot arguments are not compatible:
connect(&Ensayo, &Serial::dataReady, this, SLOT(dataArrived()));
You are mixing old and new connect syntax in a single line, that's not supported.
Either use functor style
&Serial::dataReady
OR macro styleSLOT()
. -
@GGG03 said in static assertion failed: Signal and slot arguments are not compatible:
connect(&Ensayo, &Serial::dataReady, this, SLOT(dataArrived()));
You are mixing old and new connect syntax in a single line, that's not supported.
Either use functor style
&Serial::dataReady
OR macro styleSLOT()
.