从这里的问题:Qt Signals and Slots object disconnect?如果我第一次在QObject上调用delete,那么我就像这样调用disconnect函数:
MyQClass* A = new MyQClass();
connect(A,SIGNAL(A_S()),this,SLOT(B_S()));
A->deleteLater();
...
disconnect(A,SIGNAL(A_S()),this,SLOT(B_S()));
这会导致崩溃吗?我发现它导致Qt4下的崩溃,但不是Qt5? 不同的Qt版本有什么不同吗?否则,我的代码可能还有其他问题。
答案 0 :(得分:1)
在对象销毁时自动断开连接。崩溃可能是因为您尝试在已销毁的对象上调用disconnect。你正在获得一个悬空指针A(具有一个不再存在的对象的地址)。但这取决于“......”的含义。