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