【发布时间】:2017-04-20 04:03:24
【问题描述】:
我正在尝试让 Python Tkinter 程序显示一个圆圈,并在按下 Return/Enter 键时将圆圈向右移动。我的代码目前是:
from Tkinter import *
class GUI(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.setupStuff()
def setupStuff(self):
self.canvas = Canvas(self, height=500, width=600)
self.canvas.pack()
self.blueCircle = self.canvas.create_oval(10, 10, 40, 40, fill='dodger blue')
self.canvas.bind('<Return>', self.moveRight)
def moveRight(self):
print 'Yo',
self.canvas.move(self.blueCircle, 1, 0)
print 'yo'
if __name__ == '__main__':
window = GUI(Tk())
window.mainloop()
我的问题是当我按下 Return/Enter 时球没有移动。
【问题讨论】:
-
按键事件仅传递给当前具有键盘焦点的小部件。您可以调用
.focus_set()将焦点放在画布上,但在根窗口本身而不是画布上进行事件绑定可能会更容易。
标签: python tkinter keyboard-events