The problem and the reason waitForReadyRead is commented out is because it is a blocking function and the whole GUI hangs until a byte is received, and that's a big problem.