use*_*990 5 c++ qt qml qtcore qelapsedtimer
我正在开发 QML 节拍器。我使用了一个间隔为 60000/Beats 每分钟的计时器。然而,它并不准确。我怎样才能提高准确性。我应该使用计时器,还是有更好的解决方案?
根本问题 QTimer
是它使用 Qt 事件循环进行计时。不幸的是,它本质上不够准确。通知的延迟以及事件循环中的所有内容正在妨碍。
您需要考虑一个实际上并不高度依赖 Qt 事件循环的计时器,例如QueryPerformanceCounter()
在 Windows 上。这就是我们如何进入QElapsedTimer
.
因此,我会为此使用QElapsedTimer。
下面的帖子似乎为此目的实现了一个自定义类。您可以按原样接受它,然后在需要时对其进行调整以更好地满足您的需要。