QSerialPort is designed for usage in Qt programs, which primarily use non-blocking I/O.
Completion of I/O operations is signalled via Qt style callbacks called signals.

Since your architecture is designed around unbuffered threaded access, you might need to use your own abstraction of the low level system APIs that is designed to fit into your concepts.

Cheers,
_