FishHook
aybДа что бы там ни было, писать ГУИ программы следует в ООП-стиле. Это проще, наглядней, читаемей и расширяемей.
я больше путаться начинаю когда пытаюсь в ООП (((
ayb
спасибо огромное, то что нужно… но не совсем.
в принцип работы пока не въехал.
Добавляем в последний цикл:
canv.tag_bind(rectNum,'<Leave>',focOut)
+ функция focOut
def focOut(event):
item = canv.find_closest(event.x, event.y)
canv.itemconfig(item,outline='black',fill='#289d0a')
Ведя мышь по оси X вдоль этих фигур все отлично пока не прибавишь скорости движения мыши, если пронестись быстро мышью по фигурам то некоторые focOut как бы не успевают срабатывать, почему так ?
Курсор находясь в “фигура_1” ждет <Leave>, но при мгновенном перемещении курсора в “фигура_2” опять происходит <Enter> и плавный выход курсора с “фигура_2” выполняет <Leave> только для “фигура_2”, а “фигура_1” так и остается с фокусом до тех пор пока курсор не будет наведен на “фигура_1” и плавно убран с него же на холст, а не на другую фигуру, тогда выполнится <Leave> текущей фигуры.
..решил просто делать <Leave> для всех фигур на холсте:
функцию focOut убираем и меняем код в последнем цикле на:
canv.tag_bind(ALL,'<Leave>',lambda event:canv.itemconfig(ALL,outline='black',width=1,fill='#289d0a'))
работает, не знаю верно это или нет, но для моей задачи вроде все подходит.
Всем спасибо за советы и подсказки)