为什么我总是得到attributeRor:“module”对象没有attribu

2024-05-20 17:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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()

Tags: selfinitdefcreatefillframetkcanvas
1条回答
网友
1楼 · 发布于 2024-05-20 17:09:46

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'>

相关问题 更多 >