什么是适当的方法来断开两个QObject之间的连接,以使一个对象发出的信号不再触发另一个对象中的槽? 两个对象都不会被销毁,因此
重要的是在断开连接后不再接收到接收对象的信号。在缓冲区清除未处理信号时触发几个信号是可以接受的,但这些信号必须在很短的时间内停止。
似乎有一些关于正确方法的混淆。
disconnect()
将不会在 QObject::~QObject()
中调用。我在文档中看到了disconnect()
方法的两个版本,但没有一个方法接受两个对象的指针。重要的是在断开连接后不再接收到接收对象的信号。在缓冲区清除未处理信号时触发几个信号是可以接受的,但这些信号必须在很短的时间内停止。
似乎有一些关于正确方法的混淆。
myobject->disconnect( myReceiver );
来使代码更加优雅。 - Freedom_Ben