Russian Qt Forum
Ноябрь 24, 2024, 15:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перемещений курсора мышки программными методами  (Прочитано 9400 раз)
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, но сам курсор все равно никуда не перемещается.

Что я делаю не так?
Записан
Hrundel
Гость
« Ответ #1 : Июнь 02, 2014, 23:07 »

Код:
Moves the cursor (hot spot) to the global screen position (x, y).

Написано в скобках, что перемещает hot spot. Сам shape нужно как-то по другому двигать.
« Последнее редактирование: Июнь 02, 2014, 23:11 от Hrundel » Записан
vulko
Гость
« Ответ #2 : Июнь 03, 2014, 07:54 »

Код:
Moves the cursor (hot spot) to the global screen position (x, y).

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

а как можно подвинуть курсор на linux? сторонние библиотеки?
Записан
OKTA
Гость
« Ответ #3 : Июнь 03, 2014, 09:12 »

Видимо вы что-то не так делаете. Ради интереса создал пустой проект и прописываю разные координаты через setPos - курсор прыгает куда надо!
Записан
vulko
Гость
« Ответ #4 : Июнь 03, 2014, 10:13 »

Видимо вы что-то не так делаете. Ради интереса создал пустой проект и прописываю разные координаты через setPos - курсор прыгает куда надо!

а можешь плиз пошарить проект этот, возможно дело в ОС...
Записан
OKTA
Гость
« Ответ #5 : Июнь 03, 2014, 11:04 »

Пошарить это значит показать свой или посмотреть твой?  Смеющийся
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Июнь 03, 2014, 11:27 »

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

Qt 5.11/4.8.7 (X11/Win)
Hrundel
Гость
« Ответ #7 : Июнь 03, 2014, 13:33 »

Видимо вы что-то не так делаете. Ради интереса создал пустой проект и прописываю разные координаты через setPos - курсор прыгает куда надо!

Тоже у себя попробовал, и тоже работает.
Записан
vulko
Гость
« Ответ #8 : Июнь 03, 2014, 13:37 »

Пошарьте плз свой код который работает.
Есть подозрение что дело в моей ОС.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #9 : Июнь 03, 2014, 13:51 »

Пошарьте плз свой код который работает.
Есть подозрение что дело в моей ОС.

Не надо никаких "шаров" Улыбающийся просто покажите или поделитель Улыбающийся

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

OKTA
Гость
« Ответ #10 : Июнь 03, 2014, 14:09 »

Да, на винде фурычит, а на линуксе ничего не происходит  В замешательстве
Записан
Hrundel
Гость
« Ответ #11 : Июнь 03, 2014, 17:59 »

Да, на винде фурычит, а на линуксе ничего не происходит  В замешательстве

Попробовал на Линуксе (SUSE), только hotspot перемещается.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.074 секунд. Запросов: 22.