前提・実現したいこと
Pythonにて、キーボードを押すとリアルタイムでウィンドウ上にそのキーボードのキーコードが表示されるという機能を作っています。
以下のコードは正しく、正常に動作するものです。
しかし、個人的にこのコードの動作の順序がいまいち理解していないので理解したいです。
発生している問題・エラーメッセージ
なし
該当のソースコード
python
1import tkinter 2key=0 3 4def key_down(e): 5 global key 6 key= e.keycode 7 8def main_proc(): 9 label["text"]=key 10 root.after(100,main_proc) 11 12root=tkinter.Tk() 13root.title("リアルタイムキー入力") 14root.bind("<KeyPress>",key_down) 15label=tkinter.Label(font=("Times New Roman",80)) 16label.pack() 17main_proc() 18root.mainloop() 19
分からない点
上から順にコードが実行されていきますよね。
最後から2番目の行、main.proc()までいくと以下の関数が実行されますよね。
def main_proc():
label["text"]=key
root.after(1000,main_proc)
そこで、
root.after(100,main_proc)←このコードの用途がよく理解できません。
このコードを消した後、キーボードを押してもウィンドウ上にはキーコードが表示されなくなりますが、なぜなのかかがわからないです。
個人的に、
def main_proc():
label["text"]=key
このコードでも、キーボードを押したらそのキーコードがウィンドウ上に表示されると思っていましたが
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/18 10:46
退会済みユーザー
2021/07/18 11:32 編集
2021/07/18 15:43