我是初学者。我想知道x1在移动时的坐标,所以它会不断更新。
这是我的代码。
v.getID
以下是错误消息:
onoff
使用退出代码1完成处理
非常感谢任何帮助。
答案 0 :(得分:1)
您对类和对象的工作方式有一些基本的误解。而不是这样做:
my_canvas = Example(root)
my_canvas.pack(fill="both", expand=True)
mycar = Car(60, 60, 125, 90,3,0,"red",Example)
(注意:您还需要在创建窗口小部件的单独行上调用pack
并将其分配给变量。请参阅https://stackoverflow.com/a/1101765/7432)
你需要这样做:
my_canvas = Example(root).pack(fill="both", expand=True)
mycar = Car(60, 60, 125, 90,3,0,"red", my_canvas)
您需要传递Example
的实例(例如:my_canvas
),而不是类(例如:{{1} })。此外,Example
需要使用如下示例:
Car
答案 1 :(得分:0)
您的汽车无法访问示例对象。我会在 init 上将我的示例传递给我的汽车,以便它可以访问其上下文。 e.g。
class Car:
def __init__(self, x, y, example):
...
self.example=example
def do_stuff(self):
self.example.canvas.draw(whatever)
example = Example(args)
car = Car(3,4,example)
car.do_stuff()
在此示例中,Car对象可以访问您在Example类中创建的画布,因此可以自己绘制等等。