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()?).