本文主要是介绍QTimer备忘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、定时器是在当前线程中执行的,实际上,它处于当前线程的事件循环中,如果想定时器放在单独的线程中执行,可以借助于moveToThread实现。
你可以把QTimer看作是一个能够产生定时事件的对象。当你启动一个QTimer时,你实际上是在告诉事件循环:“请在指定的时间后向我发送一个定时器超时事件(Timer Timeout Event)”。当事件循环检测到这个时间已经到达,它就会创建一个定时器超时事件,并将其分发给QTimer对象。然后QTimer对象就会发出一个超时信号(timeout signal),这个信号可以被其他对象捕获并作出相应的响应。
深入理解Qt定时器:QTimer的魅力与挑战(一)-阿里云开发者社区 (aliyun.com)
2、虽然是在当前线程中执行的,但即便把定时器的执行频率设置的非常高,也不会导致当前界面无响应,除非在定时器的处理函数中持续占CPU(例如sleep循环)。
3、假如弄了多个定时器,这些定时器实际上是串行执行的,同一时刻只有一个定时器处理函数在执行。
这篇关于QTimer备忘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!