LINUX.ORG.RU

Вопросик спецам по Tkinter - Как переместить указатель мыши на определённые координаты?

 ,


0

1

Приветствую, наверняка есть бородатые дядьки, которые на tkinter собаку съели. Интересует вопрос, как в tkinter установить позицию курсора? Конкретно нужно установить курсор на позицию x, y на канве. А ещё конкретнее, нужно, чтобы курсор прыгал по узлам «сетки» при передвижении мыши. Накидайте примеров, ибо судя по гуглю, это почти что не возможно. :(

★★★★★

Последнее исправление: xterro (всего исправлений: 3)

нужно установить курсор на позицию x, y на канве. А ещё конкретнее, нужно, чтобы курсор прыгал по узлам «сетки» при передвижении мыши

я себе этого даже представить не могу :-)

если имеется в виду текстовый курсор (тот который | ) то при чём тут канва? А если графический, то откуда ему знать про какие-то «узлы» некой сетки..

заведите себе псевдо-курсор и перемещайте эмпирическими правилами

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Узлы «некой сетки» т.е координаты этих узлов я знаю. Мне осталось только раздобыть функцию типа:

move_pointer(x, y) # где: x, y координаты, куда нужно переместить указатель мышки

P.S. Поправлю ка я тему, чтобы понятней было :)

xterro ★★★★★
() автор топика
Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от silw

Спасибо, примерно то что надо. Кстати, почти такой же пример находил на просторах сети. Только возник один момент. Я так понимаю, при работе с Display(как в этой библиотеке), мы получаем экранные координаты, как найти позицию в координатах окна(в идеале даже не самого окна, а канвы)? Фрейм в Tkinter знает своё положение(координаты) на родителе?

xterro ★★★★★
() автор топика
Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от silw

Ага, с канвой всё понятно, из оконных координат в координаты канвы перевести можем. Осталось узнать, знает ли окно свои координаты на экране, чтобы можно было получить оконные координаты :)

xterro ★★★★★
() автор топика
Ответ на: комментарий от xterro

move_pointer(x, y) # где: x, y координаты, куда нужно переместить указатель мышки

только к tkinter это не имеет никакого отношения и является издевательством над wm и x11.

MKuznetsov ★★★★★
()
Ответ на: комментарий от xterro

Если по делу - то как я понимаю тебе нужно скрыть указатель мыши и подсвечивать ближайший узел. На либу которой можно скрыть тебе выше кидали линк... а нет, ей нельзя. Ну google://python+x11+hide+mouse/ тебе в помощь.

ei-grad ★★★★★
()
Ответ на: комментарий от ei-grad

Не, мышку мне скрывать не надо, мне надо её передвинуть на определённую позицию на канве. Позициями являются узлы сетки. т.е мышка должна двигаться не как обычно, плавно и равномерно, а передвигаться дискретно по узлам этой сетки. Как в CAD-ах. там когда двигаешь мышку, она двигается по узлам сетки. Ладно, и на том спасибо, пойду жестко гуглить )

xterro ★★★★★
() автор топика
Ответ на: комментарий от Amp

Пробую сегодня вечером следующий код погонять:

from Xlib import X, display
d = display.Display()
s = d.screen()
root = s.root
root.warp_pointer(300,300)
d.sync()

xterro ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.