Есть MainWindow и есть класс в котором я выделил слот на чтение данных с COm порта.
Листинг SerialClass.h
#ifndef SERIALCONNECT_H
#define SERIALCONNECT_H
#include <QString>
#include <QSerialPort>
#include <QSerialPortInfo>
class SerialClass: public QObject
{
Q_OBJECT
public:
SerialClass(QString);
void Start();
void Stop();
void RecieveMsg(QByteArray data);
bool StatusConnection();
QSerialPort *serial;
private:
QSerialPort *serialPort;
QString portName;
int baudRate;
int dataBits;
int parity;
int stopBits;
int flowControl;
public slots:
void ReadData();
};
#endif // SERIALCONNECT_H
Листинг SerialClass.cpp
SerialClass::SerialClass(QString analizator)
{
QSettings *settings = new QSettings("conf.ini",QSettings::IniFormat);
portName=settings->value(analizator+"/port").toString();
baudRate=settings->value(analizator+"/baudrate").toInt();
dataBits=settings->value(analizator+"/dataBits").toInt();
parity=settings->value(analizator+"/parity").toInt();
stopBits=settings->value(analizator+"/stopBits").toInt();
flowControl=settings->value(analizator+"/flowControl").toInt();
}
void SerialClass::Start()
{
serialPort=new QSerialPort();
serialPort->setPortName(portName);
serialPort->setBaudRate(baudRate);
serialPort->setDataBits(QSerialPort::DataBits(dataBits));
serialPort->setParity(QSerialPort::Parity(parity));
serialPort->setStopBits(QSerialPort::StopBits(stopBits));
serialPort->setFlowControl(QSerialPort::FlowControl(flowControl));
serialPort->open(QIODevice::ReadWrite);
}
void SerialClass::Stop()
{
serialPort->close();
}
void SerialClass::ReadData()
{
const auto byte=serialPort->readAll();
qDebug()<<byte;
}
void SerialClass::RecieveMsg(QByteArray data)
{
serialPort->write(data);
}
bool SerialClass::StatusConnection()
{
if(serialPort->isOpen()){
return true;
}
return false;
}
Как в mainWindow привязать на чтение данных со слота ReadData()?
SerialClass *serial;
serial =new SerialClass("Device");
serial->Start();
делаю
connect(this,SIGNAL(ReadyRead()),serial, &SerialClass::ReadData);
Но что то я не понимаю....Подскажите плиз!