class Player():
def __init__():
...
def moveHandle(self, event):
self.anything = ...
box.bind("<Key>", Player.moveHandle)
bind函数将self设置为事件变量,并忽略/抛出事件错误。即使我使用args *,我也找不到将事件参数传递给正确变量并为该函数维护self的方法。我可以做其中一个,但不能两个都做。
我可能只是缺乏一些关于课程的基本知识,说实话,我教给自己并且没有彻底地做到这一点。
如果我犯了语法错误,那是因为我错误地重写了代码;在我的程序中,代码一直有效,直到变量通过。
答案 0 :(得分:2)
consider the following:
class Player():
def __init__():
...
def moveHandle(self, event):
self.anything = ...
box.bind("<Key>", Player.moveHandle)
其中box
是某事物的实例,但Player
不是。{
而是这个:
class Player():
def __init__(self):
...
def moveHandle(self, event):
self.anything = ...
p = Player()
box.bind("<Key>", p.moveHandle)
创建一个player类的实例,然后绑定到instances方法,而不是类方法。