原因
由于Qt规定了UI主线程只有一个,在另外一个线程生成UI相关对象或对其进行相关操作。
例如QWidget或其子类的构造和相关操作,都会出现此断言错误 。
可以使用信号槽机制来解决此问题。
本人报此错误原因:
在子线程中使用了messagebox导致的崩溃。
if (QMessageBox::Ok == QMessageBox::warning(this, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("文件类型错误")))
return;