Tkinter: определить положение виджета относительно корневого окна - PullRequest
2 голосов
/ 02 мая 2011

Событие tkinter MouseWheel может быть привязано только к корневому окну. Таким образом, позиция события также относительно корневой позиции. Для операции масштабирования холста я хотел бы получить событие MouseWheel с информацией о позиции курсора в пределах холста. Чтобы рассчитать это, я подумал, что просто вычту положение холста в корневом окне. Проблема сейчас в том, что я не могу узнать положение холста в окне.

Я пытался: can.grid_bbox -> (0,0,0,0)? can.grid_info can.grid_location cget ( "смещение") pointerx

и некоторые другие, которые я не помню. Каким-то образом я продолжаю скучать по нему, кто-то может дать мне подсказку?

--- редактировать --- Чтобы получить позицию события mouseWheel относительно холста, кажется, что этот подход работает:

def on_mouse_wheel(self, event):
    xCan = event.x_root - self.can.winfo_rootx()
    yCan = event.y_root - self.can.winfo_rooty()

1 Ответ

2 голосов
/ 03 мая 2011

Вы хотите использовать методы winfo_x и winfo_y , чтобы получить позицию x / y относительно родителя.

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