У меня есть приложение с графическим интерфейсом, где вы можете перетаскивать виджеты в QGraphicsView / Scene. Вы также можете перемещать и масштабировать, не перетаскивая виджет.
Что я хочу:
Я хочу сделать так, чтобы при перетаскивании элемента рядом с краем экрана он начинал панорамирование в этом направлении и продолжал панорамирование, даже если мышь не движется, но мышь все еще должна находиться в верхней части. / влево / вправо или внизу 10% экрана.
Что я пробовал:
Внутри dragMoveEvent я проверяю, находится ли мышь на краю экрана. Если так, я запускаю Qtimer с тайм-аутом 15 мсек. По тайм-ауту у функции есть слот для панорамирования сцены в правильном направлении путем обновления центра. Этот подход работает, но когда я оставляю мышь по-прежнему на краю, панорамирование прерывистое, а если мышь перемещается внутри края, то панорамирование плавное, как и должно быть.
Итог:
Почему панорамирование только прерывистое / медленное, когда мышь не двигается? Как мне исправить это так, чтобы панорамирование было плавным, как при перемещении мыши по краям?