2017-02-23 74 views
0

Я делаю программу на python с помощью tkinter и используя функцию find_overlap, вот мой код.ТипError: overlaps() missing 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'

еще в последнем круге, где ошибка является он говорит. Также я не называю overlaps() во время кода, который еще более запутан. обновление Я только что заметил, что он появился в строке 39, который странный, поскольку у меня нет строки 39

+0

Пожалуйста, пост полного трассирования в вашем ответе, чтобы мы могли видеть, где ошибка происходит из. – Soviut

+0

Что вы делаете? Canvas.find_overlapping (605,156,247,482)! = Line'? Это должно быть утверждение 'if'? – Soviut

+0

да, но когда я использовал его в качестве одного я получил ту же ошибку – Nerfbeard

ответ

0

Для моей ошибки я просто сбросил входные требования для тех, кто задается вопросом, что это та же самая информация, которую вы ввели в код, чтобы сделать прямоугольник