当应用程序调用{{1}}是立即启动还是在当前事件处理后启动?换句话说,如果在QTimer::start()
插槽中进行长时间处理,我是否应该使用具有时间校正功能的单次定时器?
答案 0 :(得分:2)
要确定地回答,需要检查Qt中特定于平台的代码。这是一个好兆头,这不是你应该依赖的东西。此外,QTimer
在准确性方面没有多大承诺:
定时器永远不会超过指定的超时值 并且不保证他们按指定的确切值超时。 在许多情况下,他们可能会延迟一段时间 取决于系统计时器的准确性。
计时器的准确性取决于底层操作系统和 硬件。但是,大多数平台支持1毫秒的分辨率 定时器的精度在很多方面都不等于这个分辨率 现实世界的情况。
如果Qt无法提供所需的计时器点击次数,那么 会默默地丢弃一些。
如果您需要准确了解超时信号之间经过的时间,请将QTimer
与QElapsedTimer
结合使用。