Russian Qt Forum

Qt => Общие вопросы => Тема начата: vulko от Июнь 02, 2014, 13:33



Название: Перемещений курсора мышки программными методами
Отправлено: vulko от Июнь 02, 2014, 13:33
Пытаюсь программно переместить курсор мышки с помощью
QCursor::setPos(x,y);

Фактически курсор мышки никуда не перемещается.

Однако заметил такую штуку, вызвав setPos(10,10), где бы я не кликал мышкой, ивент попадает на кпопку, которая как раз в той области.

Апликуха полноэкранная и представляет из себя QGraphicsScene в которую вставлены виджеты с кнопками и т.п.

Пробовал ещё
            QMouseEvent event( (QEvent::MouseMove), QPoint(100,100), Qt::NoButton, Qt::NoButton, Qt::NoModifier);
            QApplication::sendEvent(this, &event);

после setPos, но сам курсор все равно никуда не перемещается.

Что я делаю не так?


Название: Re: Перемещений курсора мышки программными методами
Отправлено: Hrundel от Июнь 02, 2014, 23:07
Код:
Moves the cursor (hot spot) to the global screen position (x, y).

Написано в скобках, что перемещает hot spot. Сам shape нужно как-то по другому двигать.


Название: Re: Перемещений курсора мышки программными методами
Отправлено: vulko от Июнь 03, 2014, 07:54
Код:
Moves the cursor (hot spot) to the global screen position (x, y).

Написано в скобках, что перемещает hot spot. Сам shape нужно как-то по другому двигать.

а как можно подвинуть курсор на linux? сторонние библиотеки?


Название: Re: Перемещений курсора мышки программными методами
Отправлено: OKTA от Июнь 03, 2014, 09:12
Видимо вы что-то не так делаете. Ради интереса создал пустой проект и прописываю разные координаты через setPos - курсор прыгает куда надо!


Название: Re: Перемещений курсора мышки программными методами
Отправлено: vulko от Июнь 03, 2014, 10:13
Видимо вы что-то не так делаете. Ради интереса создал пустой проект и прописываю разные координаты через setPos - курсор прыгает куда надо!

а можешь плиз пошарить проект этот, возможно дело в ОС...


Название: Re: Перемещений курсора мышки программными методами
Отправлено: OKTA от Июнь 03, 2014, 11:04
Пошарить это значит показать свой или посмотреть твой?  ;D


Название: Re: Перемещений курсора мышки программными методами
Отправлено: GreatSnake от Июнь 03, 2014, 11:27
а как можно подвинуть курсор на linux? сторонние библиотеки?
Xlib XWarpPointer


Название: Re: Перемещений курсора мышки программными методами
Отправлено: Hrundel от Июнь 03, 2014, 13:33
Видимо вы что-то не так делаете. Ради интереса создал пустой проект и прописываю разные координаты через setPos - курсор прыгает куда надо!

Тоже у себя попробовал, и тоже работает.


Название: Re: Перемещений курсора мышки программными методами
Отправлено: vulko от Июнь 03, 2014, 13:37
Пошарьте плз свой код который работает.
Есть подозрение что дело в моей ОС.


Название: Re: Перемещений курсора мышки программными методами
Отправлено: gil9red от Июнь 03, 2014, 13:51
Пошарьте плз свой код который работает.
Есть подозрение что дело в моей ОС.

Не надо никаких "шаров" :) просто покажите или поделитель :)

У меня все работает (Win7): курсор мыши перемещается в левый верхний угол экрана :)
Код
C++ (Qt)
#include <QCursor>
 
int main(int argc, char *argv[])
{
   QCursor::setPos(0, 0);
   return 0;
}
 


Название: Re: Перемещений курсора мышки программными методами
Отправлено: OKTA от Июнь 03, 2014, 14:09
Да, на винде фурычит, а на линуксе ничего не происходит  :-\


Название: Re: Перемещений курсора мышки программными методами
Отправлено: Hrundel от Июнь 03, 2014, 17:59
Да, на винде фурычит, а на линуксе ничего не происходит  :-\

Попробовал на Линуксе (SUSE), только hotspot перемещается.