如何检查是否有任何使用 Tkinger AFTER 方法安排的方法?我有一种方法可以在画布上随机创建给定数量的方块(使用 AFTER 方法安排),另一种方法可以删除正在单击的方块(此方法基本上是每个方块的事件处理程序。)最后一个删除在特定时间(如 2 秒)后没有被点击的方块,它是使用 AFTER 方法的时间表。我喜欢做的是显示一个消息框,并且仅当所有给定数量的正方形都被绘制并从画布中删除时才显示一条消息。因为有时所有的方块都被删除了,但仍然有一些方块需要绘制,所以使用 find_all 方法根本不起作用。如果我在 draw 方法中使用变量并将其减少到 0,它' s 在显示正方形之前减小到零,因此消息框在错误的时间出现。所以我正在寻找一种方法来找出在 AFTER 方法列表中是否还有要执行的方法。
问问题
416 次
1 回答
1
我不知道是否可以使用 Tkinter 方法,但是,您可以使用 Tk 找到此类信息,直接widget.tk.call('after', 'info')
返回after
待处理订阅列表。
这是一个完整的例子
import Tkinter
def foo():
print "foo"
root = Tkinter.Tk()
root.after(1000, foo)
#>u'after#0'
root.after(1000, foo)
#>u'after#1'
root.tk.call('after', 'info')
#>'after#1 after#0'
于 2012-11-03T23:24:12.783 回答