【发布时间】:2021-02-25 00:23:45
【问题描述】:
我正在尝试为 qt 中的 android 应用程序开发游戏控制器,但遇到了一些问题。当我只使用 QMouseEvents 而不是 QTouchEvents 时,控制器工作得非常好,但问题是它不支持多个接触点。触摸事件的 QWidget::mousePressEvent 似乎没有等效项。我被告知要使用 QWidget::event 来代替。
bool GameController::event(QEvent* event)
{
switch(event->type())
{
case QEvent::TouchBegin:
//Do something...
break;
case QEvent::TouchEnd:
//Do something else...
break;
case QEvent::TouchUpdate:
//Do something else...
break;
}
return QWidget::event(event);
}
问题在于我无法使用 event->touchPoints() 来获取触摸的位置,因为它不知道它是一个触摸事件。如何正确读取触摸事件?
【问题讨论】: