S
Мамыр 29, 2020, 5:45 Т.Қ.

Масштабирование двумя пальцами на мобильных платформах

Неужели никто не знает как это красиво реализовать? На QtForums мне так же не ответили. Самый простой пример это взаимодействие в браузере, когда двумя пальцами увеличиваешь и отдаляешь картинку, также передвигаешь во все возможные стороны

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

1
Vladimir Sergeevich
  • Мамыр 29, 2020, 6:52 Т.Қ.
  • (өңделген)

Я планировал описать этот момент на блоге, но никак руки не доходят (уже год). Летом дойдут. Тем не менее, у меня в репозитории лежит рабочий код игрушки "пазлы", где есть все это.

Я делал это на графической сцене. Собственно для двух пальцев в Qt есть специальный класс событий - QGestureEvent, ну а дальше - смотри какие QGesture тебе нужны и обрабатывай как захочешь. Я вот просто масштабировал (у графического вида есть стандартный метод scale):

  1. auto scaleValue = pinch->scaleFactor();
  2. scale(scaleValue, scaleValue);

Но можно еще что-нибудь сделать.

Перетаскинание там вроде бы тоже есть, но... перетаскивать у меня можно объекты на сцене и (если палец не попал ни в какой объект) - то вьюху. Вобщем оно слишком сильно срослось с конкретным приложением, поэтому наверное я никак не сяду описать "как это делать".

    Пікірлер

    Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
    Кіріңіз немесе Тіркеліңіз