【发布时间】:2013-01-18 13:57:12
【问题描述】:
我是 Python 新手,正在尝试一些问题。这是为了创造一个交通信号灯。不知道为什么我不断收到此错误 AttributeError:“模块”对象没有属性“画布”
代码如下
第 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()
【问题讨论】:
-
你为什么在类实例之外使用
self?
标签: python attributeerror