QExtSerialPort doesn't emit readyRead() so there is no point in waiting for it. You need to use a timer. If you want the call to be blocking, you may spawn your own event loop if your application is not already event driven.