Установил QSerialPort, Qt 4.8.5. Объект создаю в конструкторе класса окна, типа:
[h]
QSerialPort* serial;
[cpp]
serial = new QSerialPort(this);
connect(serial ,SIGNAL(readyRead()),this,SLOT(slotReadingSerialData()));
(в порту заглушка, генерю тестовую посылку для проверки приема).
При этом, если компилить отладочную версию, при выполнении при создании объекта выдаётся
"QObject: Cannot create children for a parent that is in a different thread",
при этом сигнал readyRead() не генерится.
Но, если компилить релиз, то никаких предупреждений не возникает, и вроде как всё работает, т.е. слот отрабатывает.
Тоже самое наблюдаю в поставляемом примере "terminal" - в отладочной версии выдаётся предупреждение, и не работает "эхо", в релизе - всё нормально.
Если создавать 'serial = new QSerialPort', то тоже не генерится сигнал, естественно.
Можно, конечно, создать тред, в котором что-то типа waitForReadyRead() крутить, но просто заинтересовало - это нормально,
что в релизе нет ругани, и всё работает? В своих проектах, если получал такой варнинг, то без соответствующего 'moveToThread()' ничего не работало...