我正在开发一种QML节拍器。我用了一个间隔60000 /每分钟节拍的计时器。然而,它并不准确。如何提高准确性。我应该使用定时器,还是有更好的解决方案?
答案 0 :(得分:3)
QTimer的基本问题是它使用Qt事件循环进行计时。不幸的是,它本身就不够准确。通知的延迟以及事件循环中的所有内容都会妨碍通信。
您需要考虑一个实际上并不高度依赖于Qt事件循环的计时器,例如Windows上的QueryPerformanceCounter()
。这就是我们如何进入QElapsedTimer的领域。
因此,我会将QElapsedTimer用于此目的。
以下帖子有一个为此目的而实现的自定义类。您可以按原样使用它,然后根据需要调整它以便在需要时更好。