QT出现 Cannot create children for a parent that is in a different thread 的解决方法:

timer = new Timer(this);改成 timer = new Timer();就可以了。

因为你timer是属于主线程的,尽量不要在非主线程里创建新的对象并指定其对象为主线程内的对象,否则QApplication.exec会warning.
this->exec(); 这样会显示的调用消息循环进而触发slot

原文地址:https://www.cnblogs.com/-wang-cheng/p/4968464.html