gpt4 book ai didi

c++ - 是否在调用stop()之后发送QTimer超时信号?

转载 作者:行者123 更新时间:2023-12-01 14:41:02 36 4
gpt4 key购买 nike

我正在Qt 5.5 / 4.8上工作。我担心通过在该实例上调用timeout()明确停止计时器后是否可以(偶尔)发送stop()信号?

我希望timeout()信号将仅在start()stop()之间发送,但这是真的吗?

我的情况是:start()stop()都在主线程中调用,并且timeout()信号作为直接连接进行连接。 (我知道排队连接不能保证上述声明。)

最佳答案

快速解答:,在大多数情况下不会调用它,但是至少有一个异常(exception)。

如果使用过queued connections,则可能会被调用。例如,如果在停止计时器之前碰巧发出了QTimer::timeout信号,则可以在停止后调用相关的插槽。

在上述插槽已排队(但不一定要调用)的情况下,因此可能会发生在实际调用插槽之前调用QTimer::stop

如果您使用排队连接,则可以在插槽的开头检查 QTimer::isActive() (您当然需要某种方式来访问计时器,也许可以作为类的成员)。

关于c++ - 是否在调用stop()之后发送QTimer超时信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46139728/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com