Fre*_*Ben 3 c++ qt qt4 signals-slots
将两个QObject相互断开的正确方法是什么,以便从一个对象发出的更多信号不会触发另一个对象的插槽?这两个对象disconnect()
都不会被 破坏,因此不会被调用QObject::~QObject()
.我disconnect()
在文档中看到了该方法的两个版本,并且都没有一个指向两个对象的指针.
重要的是,在断开连接后不再接收到接收对象槽中的信号.缓冲区清除未处理信号时的一些触发是可以的,但信号必须在很短的时间内停止.
对于正确的方法,似乎有些困惑.
来自Qt文档:
[To]断开特定接收器:
Run Code Online (Sandbox Code Playgroud)disconnect(myObject, 0, myReceiver, 0);
一旦调用,所有从myObject
信号到myReceiver
插槽的连接都将断开.