它在python tinkter中没有提到画布这样的东西

它在python tinkter中没有提到画布这样的东西,python,tkinter,tkinter-canvas,Python,Tkinter,Tkinter Canvas,我写了一个剧本: from tkinter import * import random import time class Ball: def _init_(self,canvas,color): self.canvas = canvas self.id = canvas.create_oval(10,10,25,25,fill=color) self.canvas.move(self.id,245, 245, 100) de

我写了一个剧本:

from tkinter import *
import random
import time

class Ball:
    def _init_(self,canvas,color):
        self.canvas = canvas
        self.id = canvas.create_oval(10,10,25,25,fill=color)
        self.canvas.move(self.id,245, 245, 100)

    def draw(self):
        pass
ball = Ball(canvas,"red")


while 1:
    tk.update_idletasks()
    tk.update()
    time.sleep(0.01)
它说没有画布,我真的很困惑。

画布()是一个函数,不是参数或变量。如果要正确调用它,必须添加
()

self.canvas = canvas()

错误说明了事实:您没有在任何地方定义
canvas
。您需要创建根窗口和
Canvas
类的实例

root = Tk()
canvas = Canvas(root)
canvas.pack(foll="both", expand=True)
ball = Ball(canvas,"red")

@乌达扬人:我很高兴它成功了:)你能接受我的答案并投票吗好的,当然,但它不会显示,因为我只有一个声誉,我前天就开始了。那么你也能投票支持我的问题吗?@UdayanS,但当你接受我的问题时,它就会显示出来。下一票下面的第二个按钮:)好的,我做到了!掌声你能支持我的问题吗?我只有一个声望点:(