###前提・実現したいこと
Python・Tkinterで簡単なアプリケーションを作成していて、下記の様なコードを書きました。特にエラー等はないのですが、一度root.bind('<Return>',erase)
と指定すると何度もerase()が実行されます。一度エンターキーを押したらバインドが解除できる方法(関数)はないでしょうか。ご教示お願い致します。
###該当のソースコード
Python
1from tkinter import * 2root=Tk() 3 4def erase(event=None): 5 button.destroy() 6 label=Label(root,text='正常に消去されました',width=54,height=3,bg='#0000ff') 7 label.pack() 8 9button=Button(root,text='click',command=erase,width=10,height=1,bg='#ff0000') 10button.pack() 11 12root.bind('<Return>',erase)
###試したこと
関数erase()
の次に、ただパスするだけの関数bind_off()
を定義してみましたが、あまり効率的ではないと個人的に感じています。
Python
1def erase(event=None): 2 root.bind('<Return>',bind_off) 3 button.destroy() 4 label=Label(root,text='正常に消去されました',width=54,height=3,bg='#0000ff') 5 label.pack() 6 7def bind_off(event=None): 8 pass

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/01/06 07:03
2017/01/06 07:06