1

我在 QWidget 中有一个 QScene 对象,在 QWidget 中有 QGraphicsView。我将图像转换为 QPixMap 将其作为元素提供给 QScene,并在 QGraphicsView 类中定义了触摸事件。在 QGraphicsView 的创建者方法中,我启用了触摸事件:

viewport()->setAttribute(Qt::WA_AcceptTouchEvents);

我通过覆盖 ViewPortEvent 方法来管理触摸事件:

bool DicomView::viewportEvent(QEvent *event)

{

    if(event->type() == QEvent::TouchBegin)

    {

        QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);

              .......

return QGraphicsView::viewportEvent(event);

}

PS:DicomView 是 QGraphicsView 的类型。

我的问题是,当我运行应用程序时,我可以从视图中获取触摸输入,但是在访问 QView 时无法从 QPixMap 获取触摸输入。我尝试将这些方法放在 QScene 而不是 QGraphicsView 中,但 QScene 没有 ViewPortEvent 方法。我应该做些什么?

4

0 回答 0