Qt是否会自动删除对象之间的连接,当其中一方被删除时?
例如connect(A.. , B..)
,当A (一个指针)被删除或B被删除时,连接是否会断开?
在析构函数中明确使用disconnect是否是必要的?
Qt是否会自动删除对象之间的连接,当其中一方被删除时?
例如connect(A.. , B..)
,当A (一个指针)被删除或B被删除时,连接是否会断开?
在析构函数中明确使用disconnect是否是必要的?
QObject::~QObject
析构函数会自动处理这些问题:deleteLater()
。
deleteLater()
,并且在执行之前,如果从另一个线程排队了任何新信号,则会导致未定义的行为。根据操作系统的不同,有时会在随机位置崩溃。这种错误很难追踪 :-( - iammilind