2010-06-11 8 views
11

In meiner Anwendung möchte ich QGraphicsItemGroup zum Gruppieren von Elementen in einem Element verwenden.
Ich spielte mit ihm ein wenig und nicht sicher, es zu verwenden, denn wenn ich Ereignisse abfangen möchte, werden Ereignisse zusammengeführt, aber ich möchte bestimmte Ereignisse mit bestimmten Kind behandeln.
Wie kann ich das erreichen?Ereignisse mit QGraphicsItemGroup

Antwort

12

Sie müssen QGraphicsItemGroup::setHandlesChildEvents(false) anrufen. Dies stoppt die QGraphicsItemGroup versucht, das Ereignis zu behandeln, und lässt das Kind stattdessen QGraphicsItem behandeln.

3

Ich denke, das ist der Punkt der QGraphicsItemGroup. Ausgehend von der Dokumentation soll dies das Bewegen und Transformieren mehrerer Gegenstände auf einmal vereinfachen, z. Stellen Sie sich den folgenden Fall vor: Ein Benutzer zeichnet ein Auswahlrechteck um mehrere Elemente in einer Anwendung, weil er alle verschieben möchte. Vielleicht möchten Sie mehr eine Hierarchie von Elementen erstellen, z. Habe ein Elternelement mit mehreren Kindelementen. Auf diese Weise erhalten Sie die einzelnen Ereignisse für jeden Artikel. Dies kann durch Aufruf von QGraphicsItem::setParentItem() erreicht werden;

+2

Jedes Mal, wenn ich versucht habe, QGraphicsItemGroup zu verwenden, ging ich zurück zu den einfachen Eltern Kind Beziehungen. Die Dokumentation ist nicht sehr klar –

Verwandte Themen