У меня есть этот кусок кода здесь:Keyevents с себя - Python
from tkinter import *
class player():
def __init__(self, xcoor = 0, ycoor = 0):
self.xcoor = xcoor
def leftKey(self, event):
self.xcoor += 1
print("Right key pressed")
def rightKey(self, event):
self.ycoor += 1
print("Left key pressed")
world = Tk()
p1 = player()
world.bind('<Left>', player.leftKey)
world.bind('<Right>', player.rightKey)
world.mainloop()
Когда я запускаю это и попробовать ключи, будь то вправо или влево, я получаю эту ошибку:
TypeError: leftKey() missing 1 required positional argument: 'event'
Exception in Tkinter callback
I подумайте, что ошибка связана с тем, что (self, event) ошибочно, но как я могу это исправить? Я хочу, чтобы это так, что если объект этого класса создан, его xcoor и ycoor будут меняться при вызове этой функции с помощью клавиш.
Это несколько помогло спасибо! Но я все еще получаю эту ошибку: http://prntscr.com/94xf6i – Katie2423
@ Katie2423 Вы забыли добавить 'self.ycoor = ycoor' в метод' __init__'. – poke
Я чувствую себя глупо. Спасибо, что ты был отличный :) – Katie2423