qt:断开自动直接连接后插槽未调用保证

qt: slot not called guarantee after disconnect of an auto direct connection

我有一个单线程 gui 应用程序,我没有选择连接类型,因此根据文档,连接将是直接连接。根据当时的文档:"The slot is invoked immediately when the signal is emitted. The slot is executed in the signalling thread."

根据我的理解,这显然会得出这样的结论:如果我在一个方法中断开这样的自动连接,那么可以保证在这个方法完成后(我在其中执行断开连接)我可以得到一个槽(对应刚刚断开的连接)仍然被调用。其原因是,据我所知,没有事件队列用于这种自动(这里是直接)连接。

我说得对吗?或者我应该小心并更好地保留一个 state-variable 并仔细检查插槽中的 state 和 return 如果它仍然以某种(我不清楚)方式被调用?我特别担心我有连接的情况,在这种情况下,信号是由 Qt 实体(例如信号 QNetworkReply::finished() 等)产生的,而不是由我产生的,因为我没有完全控制它们。

我找到了相关的问题,比如this one,但是我没有找到确切的问题,所以我没有信心,决定问一下。

如果您只使用直接连接,那么在断开连接后您将无法“接收”任何进一步的信号。直连只是回调调用,仅此而已