In Qt child object has to live in the same thread as its parent.
This error happens when you trying to change children's thread affinity to a different thread other than its parent object, for example, by using:
moveToThread(this)
method. This is a very typical example that many developers may do without notice as it happens to trigger all error conditions:
1) implicitly set Qt's parent-child law by passing "this" pointer,
2) attempting to change thread affinity to another thread.