如果我有一個類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