具有停止暂停和继续的Python计时器,不使用时间模块

时间:2014-06-16 08:54:58

标签: python timer continue

如何使用Stop,Pause和Continue函数创建Python计时器而不使用“time”模块,尤其是time.sleep()因为我的程序在此函数后冻结了? 谢谢

为了更具体地说明我想要实现的目标,我想创建一个应用程序脚本,该脚本计算程序打开的时间。 如果应用程序最小化 - 计时器必须暂停。在此步骤中,使用time.sleep()冻结我的应用程序 如果申请被关闭 - 计时器必须停止

1 个答案:

答案 0 :(得分:0)

如果我正确地解决了您的问题,您需要计算应用程序打开时间,并在应用程序最小化时暂停。为此,您不需要使用任何sleep。您只需对事件做出反应,注意事件发生的时间和累计开放时间。在伪代码中,它给出:

  • 应用程序以打开模式启动:cumul = 0,openBeg = now,state = open
  • app以最小化模式启动:cumul = 0,state = min
  • app最小化:cumul + = now - openBeg,state = min
  • 应用程序被(重新)打开:openBeg = now,state = open
  • app已关闭:如果州已开启:cumul + = now - openBeg

对于python,现在是time.time()状态应该在状态打开时作为布尔值opened = True进行管理,当stat为min时应该作为opened = False进行管理。

如果应用程序调用类似的API很简单,那么如果必须挂钩Windows应用程序状态更改,那将会更加棘手。