当侧的一个被删除的Qt是否自动删除对象之间的连接,?
例如connect (A .. , B ..)
当A(指针)被删除,或B被删除时,将所述连接被断开?
是否有必要在析构函数中明确地使用断开?
当侧的一个被删除的Qt是否自动删除对象之间的连接,?
例如connect (A .. , B ..)
当A(指针)被删除,或B被删除时,将所述连接被断开?
是否有必要在析构函数中明确地使用断开?
是的, QObject::~QObject
析构函数需要的是护理:
所有信号并从该对象被自动断开,以及用于该对象的任何待决投递事件从事件队列中删除。
然而,它往往是更安全的使用deleteLater()
而不是直接删除一个QObject子类。
但不要照顾:
警告:删除一个QObject而未决的活动等待交付可以导致崩溃。 如果它在不同的线程比当前执行的一个存在,你一定不要直接删除该QObject的。 使用deleteLater()来代替,这将导致事件循环删除对象后,所有未决事件已交付给它。