如果我有一个类FunctionsClass
,它继承QObject
并且其中的QTcpServer
和QTcpClient
作为成员变量。在我的主UI类我成立了一个名为FunctionClassThread
Qthread
的FunctionsClass
成员变量做:在分离线程上删除我的qt类后,ASSERT失败
FunctionsClass *classObj = new FunctionsClass // (classObj is a class member)
classObj->moveToThread(&FunctionClassThread);
FunctionClassThread.start();
// connected some signal/slots..
// do some stuff...
然后我做解构包含我的FunctionsClass
实例的对象:只
FunctionClassThread.quit();
FunctionClassThread.wait();
delete classObj; // problem line...........
此错误当classObj's
QTcpServer
当前正在侦听或其QTcpSocket
正试图连接到服务器,并删除classObj
时发生。错误是:在QCoreApplication ::的SendEvent ASSERT失败:?“无法发送事件由不同的线程拥有的对象 任何想法
我不会将父项传递给FunctionsClass,因此如何知道它是在主UI线程中创建的? – TheFuzz