QTimer с проблемами QDragEvent - PullRequest
       7

QTimer с проблемами QDragEvent

0 голосов
/ 14 декабря 2010

У меня есть приложение с графическим интерфейсом, где вы можете перетаскивать виджеты в QGraphicsView / Scene. Вы также можете перемещать и масштабировать, не перетаскивая виджет.

Что я хочу: Я хочу сделать так, чтобы при перетаскивании элемента рядом с краем экрана он начинал панорамирование в этом направлении и продолжал панорамирование, даже если мышь не движется, но мышь все еще должна находиться в верхней части. / влево / вправо или внизу 10% экрана.

Что я пробовал: Внутри dragMoveEvent я проверяю, находится ли мышь на краю экрана. Если так, я запускаю Qtimer с тайм-аутом 15 мсек. По тайм-ауту у функции есть слот для панорамирования сцены в правильном направлении путем обновления центра. Этот подход работает, но когда я оставляю мышь по-прежнему на краю, панорамирование прерывистое, а если мышь перемещается внутри края, то панорамирование плавное, как и должно быть.

Итог: Почему панорамирование только прерывистое / медленное, когда мышь не двигается? Как мне исправить это так, чтобы панорамирование было плавным, как при перемещении мыши по краям?

1 Ответ

0 голосов
/ 14 декабря 2010

Что происходит, когда вы увеличиваете / уменьшаете время ожидания?

...