是否会自动断开Qt中的连接?

时间:2014-11-27 07:50:48

标签: c++ qt

从这里的问题: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版本有什么不同吗?否则,我的代码可能还有其他问题。

1 个答案:

答案 0 :(得分:1)

在对象销毁时自动断开连接。崩溃可能是因为您尝试在已销毁的对象上调用disconnect。你正在获得一个悬空指针A(具有一个不再存在的对象的地址)。但这取决于“......”的含义。