断开两个 QObject 彼此的正确方法是什么,以便一个对象不再发出信号触发另一个对象中的插槽? 这两个对象都不会被销毁,因此
disconnect()
不会在 QObject::~QObject()
中被调用。 我在文档中看到了 disconnect()
方法的两个版本,并且没有一个版本采用指向两个对象的指针。
断开连接后,接收对象插槽中不再接收到更多信号,这一点很重要。 在缓冲区清除未处理信号时触发几次是可以的,但信号必须在很短的时间内停止。
对于执行此操作的正确方法似乎有些困惑。
来自 Qt 文档:
[至]断开特定接收器的连接:
disconnect(myObject, 0, myReceiver, 0);
一旦调用此函数,从
myObject
的信号到 myReceiver
的插槽的所有连接都将被断开。