Форум сайта python.su
Есть прямоугольник с текстом, хочется что бы наведя мышкой на любую область этих объектов срабатывал activefill у обеих объектов. Срабатывают они по отдельности, так как текст сверху прямоугольника и перекрывает часть прямоугольника, что не дает сработать activefill для прямоугольника при наведении на текст и наоборот.
Нашел find_overlapping - возвращает все теги местоположения мыши, опять же наведя на чистую часть прямоугольника вернет всего 1 тег (прямоугольника), а вот наведя на текст вернет уже 2 тега(текст+прямоугольник) - что то-же не очень удобно так как там могут быть больше объектов чем 2.
Если придать объектам один тег, то не смогу воспользоваться itemconfigure на полную, так как атрибуты у объектов бывают разные а разлепить я эти объекты уже не смогу.
Подскажите как решить такую задачу без плясок, буду очень благодарен.
canvas.create_rectangle(x,y,x1,y1,fill='color',activefill='color') canvas.create_text(x,y,fill='color',activefill='color') def active(event): tags=canvas.find_overlapping(event.x,event.y,event.x,event.y) if len(tags)>=1: canvas.itemconfigure(tags[0],fill='color',outline='color') canvas.itemconfigure(tags[1],fill='color') canvas.bind('<Motion>',active)
Офлайн
if len(tags)>=1: canvas.itemconfigure(tags[0],fill='color',outline='color') canvas.itemconfigure(tags[1],fill='color')
Офлайн
4kpt_IVкакой бок, о чем это вообще?
Офлайн
Что будет, если
len(tags)==1
Офлайн
4kpt_IV
Что будет, если
if len(tags)>=1: table.canvas.itemconfigure(tags[0],fill='black') table.canvas.itemconfigure(tags[0]+1,fill='white')
Отредактировано vito-Z80 (Июнь 8, 2016 10:11:23)
Офлайн
мёртвый форум….
один залез - что то подправил (что собственно и не имело значения, так как было приведено для наглядности) не дав ответа, и показал из себя знатока перед новичком(гордо ухмыляясь).
Офлайн
Хотел писать ответ. После последнего поста желание ушло. Прошу прощения, что не могу сидеть возле компьютера круглые сутки и отвечать на Ваши вопросы на форуме. Кушать все же что-то надо. Удачи.
Офлайн
4kpt_IVесли бы хотел, сразу бы его дал.
Хотел писать ответ. После последнего поста желание ушло. Прошу прощения, что не могу сидеть возле компьютера круглые сутки и отвечать на Ваши вопросы на форуме. Кушать все же что-то надо. Удачи.
Отредактировано vito-Z80 (Июнь 10, 2016 03:40:22)
Офлайн