I don't know if you have the ability to add a message delimiter, I had to do that with my own protocol. Then all I did was loop:
@
readBytes = serialport->read(serialport->bytesAvailable());
@
and append readBytes to a QString until I reach my message delimiter. At the moment, I'm testing my code with a virtual serial port connecting 2 x VirtualBox's using the following for these serial port settings:
@
serialPort = new QextSerialPort(serialDevice, QextSerialPort::EventDriven);
serialPort->setBaudRate(BAUD115200);
serialPort->setFlowControl(FLOW_OFF);
serialPort->setParity(PAR_NONE);
serialPort->setDataBits(DATA_8);
serialPort->setStopBits(STOP_2);
@