python绑定不工作
我有基本的屏幕保护程序。我想绑定鼠标按钮1以删除屏幕上的所有内容,但当我按下按钮1时,出现以下错误: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
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")