0

私はPythonを初めて使用し、いくつかの問題を試していました。これは信号機を作るためのものです。このエラーが発生し続ける理由がわかりませんAttributeError:'module'オブジェクトに属性'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()
4

1 に答える 1

4

Python では大文字と小文字が区別されます。

>>> import tkinter as tk
>>> tk.canvas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'canvas'
>>> tk.Canvas
<class 'tkinter.Canvas'>
于 2013-01-18T05:56:51.903 に答える