在Qt中使用moveToThread()的注意事项

在Qt中使用moveToThread()函数将QObject对象移动到另一线程时,若被移动的对象包含了指向其它对象的指针,这些对象不会自动被移动。

因此,使用moveToThread()函数将QObject对象移动到另一线程时,需要对目标对象自身及其所有子对象调用moveToThread()函数,否则可能诱发“QObject不能跨线程创建对象”的运行时警告。

删除容器线程时,应先删除容器线程的所有子对象,再删除容器线程,否则将导致错误。

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License