如何在Python中延迟调用函数?

5 投票
1 回答
6924 浏览
提问于 2025-04-16 05:54

我有一个滑块,我想在用户操作完成后才调用一个特定的函数。我的想法是,在滑块停止移动后等待500毫秒再调用这个函数,而不是在滑块移动的时候就调用。如果滑块还在继续移动,那么这个调用就会被取消。换句话说,只有当滑块“静止”超过500毫秒后,才会调用这个函数。

谢谢

更新

    #slider

    def updateValue(self):
        #self._job = None
        #self.preview.updateContourValue(float(self.slider.get() ))
        print "updated value"

    timer = Timer(5.0, updateValue)

    def sliderCallback(self):
        timer.cancel()
        timer.start()

1 个回答

2

Patrick: 看这个讨论 - 如何在tkinter中创建一个计时器?

你可以使用 Threading.Timer 来实现这个功能。它有一个 cancel 方法,可以在计时器运行之前取消它。

撰写回答