QTimerがタイムアウトした後もカウントを続けるかどうか知りたいのですが。
たとえば、500ミリ秒ごとにタイムアウトするQTimerがあるとします。この特定のQTimerがタイムアウトしたときに、プログラムが(イベントループではなく)作成した関数内にあり、プログラムが関数からイベントループに到達するまでに10ミリ秒かかるとします。これは、次にQTimerがタイムアウトするのが1010msになることを意味しますか?
この場合、それを回避する方法はありますか?
ありがとう。
編集:
Qtimer に delayd
を設定すると、timeout()
この時間が経過した後、ウィンドウ システムのイベント キュー内のすべてのイベントが処理されるとすぐにシグナルが発生します。
したがって、プログラムがイベント ループ以外の時間を費やしても問題ありません。とにかく、Qtであろうとなかろうと、タイムアウトをt ms
実際に設定することは、少なくとも経過したときに目を覚ますことt ms
を意味します。正確性は一切保証できません。
ps: 少数について心配している場合はms
、タイミングの粒度について心配する必要があります。