Col*_*.D. 3 events binding tkinter key python-3.x
所以,我是Python的GUI新手,我一直在努力理解envents过程,这是我的代码,以及每当我按下'a'键时它应该打印"按下按键"的意图.但它赢了为我工作.
#!/usr/bin/env python3
# -*-coding:UTF-8 -*
from tkinter import *
root = Tk()
def callback(event):
print("key pressed")
canvas = Canvas(root, width=100, height=100, bg='blue')
canvas.bind("a", callback)
canvas.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
它不执行回调函数,因为程序的焦点在Tk
元素上.如果用root.bind("a", callback)
它替换该行,它将按预期工作.
问题是当你像其他小部件一样点击它时,canvas元素没有得到焦点作为Entry,所以如果你先调用它,它只会响应keydown事件canvas.focus_set()
.
归档时间: |
|
查看次数: |
5716 次 |
最近记录: |