0
我正在python中使用tkinter编写程序并使用find_overlap函数,这里是我的代码。TypeError:overlapps()缺少3个必需的位置参数:'y1','x2'和'y2'
from tkinter import *
import tkinter.messagebox
root = Tk()
coords = 1447, 474
canvas = Canvas(root, width=1480, height=960)
frame = Frame(root, width=209, height=960)
def cords(event):
print(event.x, event.y)
def click(event):
canvas_id = canvas.create_line(event.x, event.y, coords)
canvas.after(100,canvas.delete,canvas_id)
line = click
obj1=canvas.create_rectangle(605,482,247,157)
obj2=canvas.create_rectangle(802,720,270,640)
objoverlap2=canvas.find_overlapping(802,720,1082, 473)
canvas.bind('<Button-1>',line)
photo = PhotoImage(file='76.gif')
label = Label(frame, image=photo)
label.config(image=photo)
label.pack()
frame.pack(side='right')
canvas.pack(side='left')
while True:
canvas.find_overlapping(605,156,247,482)!=line
root.mainloop()
当我运行这段代码我得到这个错误
TypeError: overlaps() missing 3 required positional arguments: 'y1', 'x2', and 'y2'
但在最后的环路,将误差是它说。另外我不会在代码中调用overlapps(),这更加令人困惑。 更新我只是注意到它是在39线这是奇怪的,因为我没有一条线39
请在您的答案发布完整的堆栈跟踪,以便我们可以看到错误来自哪里。 – Soviut
你的'canvas.find_overlapping(605,156,247,482)!= line'在做什么?这应该是一个“if”陈述吗? – Soviut
是的但是当我用它作为一个我得到了同样的错误 – Nerfbeard