暂停QML计时器?

问题描述

有没有一种方法可以暂停QML中的Timer。似乎唯一可用的方法是停止,启动和重置。在我的应用程序中,我需要一种方法,可以在整个过程中暂停计时器,然后从中断处重新开始。但是,每次我使用start()方法时,都会从头开始重置计时器。

有人知道解决此问题的方法还是合理的选择?任何帮助将不胜感激。

解决方法

您可以使用C ++编写简单的自己的Timer。看起来很简单。 https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html 您甚至不需要使用低级时间,只需包装QTimer并使用(例如,剩余TimeAsDuration())即可在停止状态之前获取当前状态。 另一种方法是在js中编写逻辑部分。只需记录启动计时器的时间,记录暂停的时间并在再次启动时根据此值修改计时器持续时间即可。