Why not use QIODevice::readyRead signal and check if a complete line can be read in the slot?
-Marian Am 31.03.19 um 21:48 schrieb Martin Marmsoler: > 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 > _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest