Hi,

If I understand documentation correctly, it suggests to connect 
QIODevice::readyRead() signal to slot that will contain:

if(QIODevice::canReadLine)
{
QByteArray oneLine=QIODevice::ReadLine();
// process data here
}

--
Mariusz Zieliński different results.”

From: Martin Marmsoler [mailto:martin.marmso...@gmail.com]
Sent: 31 marca 2019 23:49
To: interest@qt-project.org
Subject: [Interest] Parsing data from serialport


Hello,

I'm trying to implement a serial connection with QIODevice (SerialPort). I 
would like to parse line by line (each line consists of multiple columns of 
data) and for this I found canReadLine().
But as I understand I have to use startTransaction, because otherwise the 
buffer will not be used. I'm I correct?

bool QIODevice::canReadLine() const

{

    Q_D(const QIODevice);

    return d->buffer.indexOf('\n', d->buffer.size(),

                             d->isSequential() ? d->transactionPos : 
Q_INT64_C(0)) >= 0;

}

So to read a full line, I have to open a QSerialPort and then start a 
Transaction. Then I have to wait a little bit (till data is in the buffer) and 
then I can use canReadLine. Am I correct? Is there a better way instead to wait 
a little bit? Or is it the wrong way to go?



Best regards,

Martin
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to