Python定时器与停止暂停和继续不使用时间模块



如何在不使用"time"模块的情况下创建带有Stop, Pause和Continue函数的Python计时器,特别是time.sleep(),因为我的程序在此函数后冻结?谢谢你

更具体地说,我想要实现的是,我想创建一个应用程序内的脚本,该脚本计算程序打开了多长时间。如果应用程序被最小化,计时器必须暂停。在这一步中,使用time.sleep()会冻结我的应用程序如果应用程序关闭,计时器必须停止

如果我正确理解了您的问题,那么您需要一些东西来计算应用程序打开的时间,以及在最小化应用程序时暂停的时间。为此,您不需要使用任何sleep。您只需对事件作出反应,注意事件发生的时间和累积的打开时间。在伪代码中,它给出:

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

对于python,现在是time.time(),状态应该管理为布尔值opened = True时,状态是打开的,opened = False时,状态是最小的。

如果应用程序调用类似的API,这很简单,如果你必须挂钩windows应用程序的状态变化,这将是更棘手的

最新更新