0

Tkinger AFTER メソッドでスケジュールされたメソッドがあるかどうかを確認するにはどうすればよいですか? キャンバス上に指定された数の正方形をランダムに作成するメソッド(AFTERメソッドでスケジュール)と、クリックされている正方形を削除する別のメソッドがあります(このメソッドは基本的に各正方形のイベントハンドラーです。)そして最後のものは削除します一定時間 (2 秒など) クリックされていない四角形は、AFTER メソッドでスケジュールされます。私がやりたいのは、メッセージ ボックスを表示し、指定された数の正方形がすべて描画されてキャンバスから削除されたときにのみメッセージを表示することです。すべての正方形が削除されても、描画される正方形がまだいくつか残っている場合があるため、find_all メソッドを使用してもまったく機能しません。draw メソッド内で変数を使用し、それを 0 に減らすと、四角形が表示される前に s がゼロに減少し、その結果、メッセージ ボックスが間違ったタイミングで表示されます。そのため、AFTER メソッド リストで実行するメソッドが残っているかどうかを調べる方法を探しています。

4

1 に答える 1

1

Tkinter メソッドを使用して可能かどうかはわかりませんが、保留中のサブスクリプションwidget.tk.call('after', 'info')のリストを直接返すTk を使用してそのような情報を見つけることができます。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 に答える