Qt + OpenGL ES + N900
Я пытаюсь разработать простое (?) Приложение для N900 с использованием Qt, но даже не знаю, когда начать. Я хочу коснуться любого места на экране, сохранить эту позицию, визуализировать объект через OpenGL ES, а затем иметь возможность выбрать его и изменить его внешний вид. Итак, мои вопросы:
- Из того, что я прочитал, N900 не поддерживает сенсорные события. Тем не менее, сенсорные примеры, которые существуют в QtSDK (почти), сработали для меня. Должен ли я пойти на QGesture тогда или, может быть, с QtMouse для прослушивания (или QTouchEvent)?
- Предположим, у меня есть повернутые координаты позиции, я должен позже преобразовать их из экранных координат в координаты объекта, если я правильно понимаю, верно?
- Для части "выбор объекта" OpenGL ES 2.0 поддерживает буфер выбора? Или как это может быть реализовано (трассировка лучей)?
Любая подсказка, чтобы начать меня, была бы очень признательна!!!
1 ответ
Решение
- QTouchEvent - это именно то, что не поддерживается в N900. Вы должны использовать QMouseEvent, которые доставляются в QWidget или QGraphicsSceneMouseEvent, которые доставляются в QGraphicsScene.
- QMouseEvent содержит как globalPos(), так и pos(), поэтому обычно вам не нужно выполнять преобразование. Но есть QWidget:: mapToGlobal () и друзья, разрешающие эти преобразования. QGraphicsView имеет mapFromScene и mapToScene для той же цели.