python绑定不工作

python绑定不工作,python,tkinter,bind,tkinter-canvas,Python,Tkinter,Bind,Tkinter Canvas,我有基本的屏幕保护程序。我想绑定鼠标按钮1以删除屏幕上的所有内容,但当我按下按钮1时,出现以下错误: Exception in Tkinter callback Traceback (most recent call last): File "C:\Python34\lib\idlelib\run.py", line 121, in main seq, request = rpc.request_queue.get(block=True, timeout=0.05) File

我有基本的屏幕保护程序。我想绑定鼠标按钮1以删除屏幕上的所有内容,但当我按下按钮1时,出现以下错误:

 Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\idlelib\run.py", line 121, in main
    seq, request = rpc.request_queue.get(block=True, timeout=0.05)
  File "C:\Python34\lib\queue.py", line 175, in get
    raise Empty
queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
TypeError: delete() takes 0 positional arguments but 1 was given
。 . . . 这是我的节目:

import tkinter
canvas=tkinter.Canvas(width=1000,height=800)
canvas.pack()
from random import *

entry1=tkinter.Entry()
entry1.pack()





def setric():





    x=randrange(900)
    y=randrange(700)




    global a
    canvas.delete('all')
    farba=choice(("red","purple","blue","lightblue","green","lightgreen"))

    if a>-90:
        a=a-10
    else:
        a=-10


    if entry1.get()=="":
        canvas.update()
        canvas.after(3000,setric)
        a=0


    else:

        canvas.create_text(x,y,text=entry1.get(),font="Arial 40",fill=farba,angle=a)

        canvas.after(2000, setric)
def delete():
    canvas.delete("all")
a=0        
setric()

canvas.bind('<Button-1>',delete)
导入tkinter
canvas=tkinter.canvas(宽度=1000,高度=800)
canvas.pack()
从随机导入*
entry1=tkinter.Entry()
entry1.pack()
def setric():
x=randrange(900)
y=随机范围(700)
全球a
canvas.delete('all'))
farba=选择((“红色”、“紫色”、“蓝色”、“浅蓝色”、“绿色”、“浅绿色”))
如果a>-90:
a=a-10
其他:
a=-10
如果entry1.get()=“”:
canvas.update()
帆布。之后(3000,塞特里克)
a=0
其他:
canvas.create_text(x,y,text=entry1.get(),font=“Arial 40”,fill=farba,angle=a)
画布。之后(2000年,塞特里克)
def delete():
canvas.delete(“全部”)
a=0
塞特里克()
canvas.bind(“”,删除)
即使我更改了def delete中的内容,仍然会出现错误。 谢谢你的时间!我是新手,所以我不知道问题出在哪里
通过绑定调用的函数会自动传递一个表示事件的对象。您的
delete
方法需要能够接受此参数,即使您不使用它

def delete(event):
    canvas.delete("all")