以下のコードを実行すると、Windows コンピューターで完全に動作します。ただし、MacBookで実行すると、canvas.bind_all('<KeyRelease-w>', func)
wが押されたときに Key-Release イベントが返され、離されません。
質問: tkinter または標準で付属しているその他のライブラリ内に修正/回避策はありますか? 学校のコンピューターでは許可されていないため、新しいライブラリを pygame またはキーボードとしてダウンロードすることは避けたいと思います。
* window (win 10) は python 3.5.2、Mac (Catalina 10.15.6) は python 3.8.5
from tkinter import*
tk = Tk()
canvas = Canvas(tk, width = 100, height = 100)
canvas.pack()
def func(event):
print('Hello')
while True:
canvas.bind_all('<KeyRelease-w>', func)
tk.update()
編集:コメントによると、これはおそらく Tkinter ライブラリのバグです。ただし、考えられる回避策に関する問題はまだ解決されていません。