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