我是 Python 新手,正在尝试一些问题。这是创建一个红绿灯。不知道为什么我不断收到此错误 AttributeError: 'module' object has no attribute 'canvas'
下面的代码
第 9 章 9.25
import tkinter as tk
class TrafficLight(tk.Frame):
def __init__(self, parent=None):
tk.Frame.__init__(self, parent, bg='green')
self.grid()
# create a canvas to draw on
self.canvas = tk.canvas(self, width=260, height=280, bg='white')
self.canvas.grid()
self.make_widgets()
def make_widgets(self):
self.canvas.create_rectangle(80, 20, 170, 260)
#imagine a square box
# upper left corner coordinates x1, y1
# lower right corner coordinates x2, y2
# and sides of length span for each circle
span = 50
x1 = 100
y1 = 50
x2 = x1 + span
y2 = y1 + span
self.canvas.create_oval(x1, y1, x2, y2, fill='red')
self.canvas.create_oval(x1, y1+70, x1, y2+70, fill='yellow')
self.canvas.create_oval(x1, y1+140, x2, y2+140, fill='green')
if __name__ == '__main__':
light = TrafficLight()
light.mainloop()