python - 检查之后是否有 Tkinter 安排的方法

标签 python tkinter

如何检查是否有使用 Tkinger AFTER 方法安排的方法?我有一种方法可以在 Canvas 上随机创建给定数量的方 block (使用 AFTER 方法安排),另一种方法可以删除正在单击的方 block (该方法基本上是每个方 block 的事件处理程序。)最后一个删除在一定时间(例如 2 秒)后没有被单击的方 block ,并且它是使用 AFTER 方法进行安排的。我喜欢做的是显示一个消息框,并仅当所有给定数量的方 block 都被绘制并从 Canvas 中删除时才显示消息。因为有时所有的方 block 都被删除了,但仍然有一些方 block 需要绘制,所以使用 find_all 方法根本不起作用。如果我在绘制方法中使用变量并将其减少到 0,则在显示方 block 之前它会减少到零,并且结果会在错误的时间出现消息框。所以我正在寻找一种方法来查明 AFTER 方法列表中是否还有任何方法需要执行。

最佳答案

我不知道是否可以使用 Tkinter 方法,但是,您可以直接使用 Tk 找到此类信息 widget.tk.call('after', 'info') 返回列表待处理的订阅之后

这是一个完整的示例

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'

关于python - 检查之后是否有 Tkinter 安排的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212507/

相关文章:

python - 将 PDF 艺术作品放置在 Reportlab Canvas 上的特定位置

python - Tkinter GUI、I/O 和线程 : When to use queues, 何时发生事件?

python-3.x - 如何从对话框返回结果?

python - QListWidget:如何拖放插入带有图标的自定义小部件?

python - 在 Visual Studio Code 中为 Python 创建简单任务

python - Grep for multiple strings 和多个字符串包括以下行

c# - 根据文件名选择数千个文件

python - 列表框中的重复单词

python - 无法在顶级窗口中创建框架

python - Entry.place(X,Y) 不起作用