Хобрук: Ваш путь к мастерству в программировании

Как отображать координаты холста при наведении курсора на холст?

Когда я наводил курсор на холст, я хочу, чтобы некоторые метки поверх холста отображали координаты x, y, которые остаются неизменными, если я держу курсор неподвижно, но меняются при его перемещении. Как бы я это сделал?

14.10.2015

Ответы:



2

Также используйте событие <Enter>. Поэтому, когда вы переключаетесь между окнами (горячая клавиша <Alt>+<Tab>), ваш курсор будет показывать правильные координаты.

Например, вы поместили курсор на холст, и событие <Motion> отследит его, но когда вы нажмете <Alt>+<Tab> и переключитесь в другое окно, затем немного переместите курсор и <Alt>+<Tab> снова на холсте - координаты вашего курсора будут неправильными. , потому что событие <Motion> не отслеживает переключения между окнами. Чтобы исправить это, используйте событие <Enter>.

import tkinter

root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.pack()

def get_coordinates(event):
    canvas.itemconfigure(tag, text='({x}, {y})'.format(x=event.x, y=event.y))

canvas.bind('<Motion>', get_coordinates)
canvas.bind('<Enter>', get_coordinates)  # handle <Alt>+<Tab> switches between windows
tag = canvas.create_text(10, 10, text='', anchor='nw')

root.mainloop()
13.12.2017
Новые материалы

Введение в контекст React
В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

Это оно
Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

Базовое руководство по переносу концепций обучения в глубокое обучение
Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

C в C.R.U.D с использованием React-Redux
Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

5 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..