2

我正在尝试使用 Qt 为 N900 开发一个简单的(?)应用程序,但我什至不知道什么时候开始。我想点击屏幕中的任何位置,保持该位置,通过 OpenGL ES 渲染一个对象,然后能够选择它并修改它的外观。所以,我的问题:

  1. 从我读过的内容来看,N900 不支持触​​摸事件。尽管如此,QtSDK 中存在的触摸示例(几乎)对我有用。那么我应该使用 QGesture 还是使用 QtMouse 进行点击(或 QTouchEvent)?
  2. 假设我有点击的位置坐标,我应该稍后将它们从屏幕坐标转换为对象坐标,如果我理解正确的话,对吧?
  3. 对于“拾取对象”部分,OpenGL ES 2.0 是否支持选择缓冲区?否则,如何实现(光线追踪)?

任何让我开始的提示将不胜感激!!!

4

1 回答 1

0
  1. QTouchEvent 正是 N900 不支持的。您应该使用传递给 QWidget 的 QMouseEvent 或传递给 QGraphicsScene 的 QGraphicsSceneMouseEvent。
  2. QMouseEvent 包含 globalPos() 和 pos(),所以通常不需要进行转换。但是有 QWidget::mapToGlobal() 和朋友允许这些转换。QGraphicsView 具有相同目的的 mapFromScene 和 mapToScene。
于 2011-06-02T19:20:24.680 回答