Я здесь начинаю здесь. Я хотел бы знать координаты x1, пока он движется, поэтому он будет продолжать обновляться.Ошибка Python Tkinter canvas
Вот мой код.
from tkinter import *
import tkinter as tk
import time
import random
class Example(tk.Frame):
def __init__(self,parent):
tk.Frame.__init__(self)`
#create a canvas
self.canvas = tk.Canvas(width=600, height=250)
self.canvas.pack()
self.road()
self.crossing()
def road(self):
Line1 = self.canvas.create_line(50, 50, 450, 50)
Line2 = self.canvas.create_line(50, 100, 450, 100)
def crossing(self):
CLine1 = self.canvas.create_line(350, 50, 350, 100)
CLine2 = self.canvas.create_line(375, 50, 375, 100)
class Car:
def __init__(self,x1,y1,x2,y2,vx,vy,color,Example):
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = y2
self.vx = vx
self.vy = vy
self.color=color
self.Example = Example
def drawit(self):
self.Example.canvas.create_rectangle(x1,y1,x2,y2,color)
def moveit(self,vx,vy):
self.Example.canvas.move(vx,vy)
if __name__ == "__main__":
root = tk.Tk()
my_canvas = Example(root).pack(fill="both", expand=True)
mycar = Car(60, 60, 125, 90,3,0,"red",Example)
mycar.drawit()
mycar.moveit()
print (mycar.x1)
root.mainloop()
Вот сообщение об ошибке:
AttributeError: type object 'Example' has no attribute 'canvas'
Процесс закончил с кодом выхода 1
Любая помощь будет оценена.
Вы не объявленную 'self.canvas' в своем классе' Car'. –
Если бы я объявил 'self.canvas' в моем классе' Car', не было бы другого холста? Я имел в виду, что они (автомобиль и дорога) должны находиться на одном холсте. – CPG
Вещь 'self.canvas' - это ошибка (потому что в ней говорится, что' Car' не имеет атрибута 'canvas'), но я не коснулся tkinter через некоторое время. –