Python - TKinter - Перемещение фигуры на холсте с помощью мыши - PullRequest
0 голосов
/ 10 ноября 2019

Мне нужно найти способ кодировать следующее

1. Это геометрический объект, который содержит массив точек, которые затем рисуются на виджете холста (это было покрыто)

2. когда вы щелкаете левой кнопкой мыши на холсте, он проверяет, щелкнул ли вы в пределах некоторого поля существующей точки, и если это правда, точка в массиве выбрана (это рассматривается с точки зрения поиска точки и ее выбора)

3. Как только выбранная точка будет следовать за мышью, пока кнопка мыши не будет отпущена.

Использование отдельного события Motion, похоже, не работает, так как кажется, что функция вызывается снова и сновапока кнопка нажата. Поэтому мне нужно было бы активировать функцию поиска, когда кнопка нажата, и функцию перемещения, когда кнопка удерживается.

Буду благодарен за указатели.

1 Ответ

0 голосов
/ 10 ноября 2019

Благодаря Дэну Гетцу я сделал следующее: -привязать выбор точки, чтобы выбрать точку и сохранить индекс в self.selectedPoint -bind move function для использования self.selectedPoint, чтобы указать выбранную точку в массиве, затем передать событияx, y - координаты массива как новые координаты для выбранной точки - свяжите функцию clearSelected, чтобы установить для self.selectedPoint значение -1, таким образом очистив выделение

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...