在X秒内干净地调用函数而不重复

时间:2015-05-25 20:11:48

标签: python

我无法弄清楚如何在X时间内异步调用函数作为一次性,而不需要用一堆类变量来混淆应用程序以跟踪计时器或取消计时器之后函数被调用。 Javascript可以做到最简单,所以我将使用JS在python中展示我想做的事情

setTimeout(function()
{
  //Do something in 1 second
}, 1000);

基本上,我现在拥有的是:

class NeedyObject(QWidget):
  theTimer = None

  def process(self):
    self.theTimer =Timer(1,self.processCallback)
    self.theTimer.start()

  def processCallback(self):
    self.theTimer.cancel()
    #do something

由于各种不同的原因,我需要多次拨打这些一次性电话,并且跟踪每个取消它的计时器并不是我喜欢的方式。

如何将这个JS概念引入Python?

1 个答案:

答案 0 :(得分:1)

我注意到QWidget作为NeedyObject的参数。如果你正在使用Qt和Python绑定,也许你可以使用single-shot QTimer