Когда я наводил курсор на холст, я хочу, чтобы некоторые метки поверх холста отображали координаты x, y, которые остаются неизменными, если я держу курсор неподвижно, но меняются при его перемещении. Как бы я это сделал?
Как отображать координаты холста при наведении курсора на холст?
14.10.2015
Ответы:
1
Вы можете использовать метод обратного вызова и привязать его к событию Motion
. а>.
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.pack()
def moved(event):
canvas.itemconfigure(tag, text="(%r, %r)" % (event.x, event.y))
canvas.bind("<Motion>", moved)
tag = canvas.create_text(10, 10, text="", anchor="nw")
root.mainloop()
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 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..