神秘博客

QT多线程常见问题

经常使用多线程的估计常见下面这个报错

Cannot create children for a parent that is in a different thread

无法为位于其他线程中的父级创建子级,出现这种问题

一个是new的时候会出现这个错误,继承QThread实现自己的线程类的时候不能在构造函数中new得放入run()函数里面就解决了,或者创建自己类然后把类移动到新线程也能解决moveToThread()

还有一个就是信号槽关联的时候,信号槽在子线程关联有的也会报错这时候只需要在connect()最后加一个参数Qt::DirectConnection,表示发出信号立即调用这样就能解决报错

版权说明:
点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

觉得文章有用就请我吃包辣条吧

微信扫一扫打赏