有多种的问题可能导致此问题,我提供的解决的方案仅为多种情况之一。
写项目时,需要用到Qt的多线程,我就按照网上的QThread方式编写,但是在主线程用到子线程的时候,就会出现这个问题;若将主线程的子线程相关内容注释掉,则不会报错。
断点发现,子线程在初始化的时候未进入构造函数,所以问题出现在子线程初始化地方。
错误代码:
cam = new Camera();
recon = new Reconstruction();
chang = new ChangeColor();
正确代码:
cam = new Camera(this);
recon = new Reconstruction(this);
chang = new ChangeColor(this);
在初始化子线程的时候,需在括号内加this。