C++, Qt: Mausevents in QGraphicsScene und -View

Gast #2778680
Lesenswert?

Hi,
ich finde leider kein Beispiel, das mein Problem löst, daher eine Frage 
zu der event-propagation (heisst das so?) in Qt, insb. zum Thema 
Mausklick in einer QGraphicsScene, die über QGraphicsView dargestellt 
wird.
Beide sind als eigene Klassen realisiert, die die Mausevents abfangen:

1
void MyGraphicsView::mousePressEvent(QMouseEvent *event)
2
{
3
    if (event->button() == Qt::LeftButton)
4
    {
5
        qDebug() << "clicked";
6
        event->accept();
7
        return;
8
    }
9
    event->ignore();    
10
}

1
void MyGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *event)
2
{
3
    qDebug()<<"clicked";
4
}


Ziel ist, zu erkennen, welches Element geklickt wurde, aber ich bekomme 
noch nicht mal ein "clicked" -- muss das event irgendwie weitergereicht 
werden (von parent zu child?)?

Nach Möglichkeit möchte ich vermeiden, auch die Elemente der Scene zu 
subclassen (wie nennt man das? "beerben"?) sondern auf der Ebene der 
Scene die Elemente zu erkennen  (itemAt()?).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren