2010-06-11 4 views
11

Nella mia applicazione voglio utilizzare QGraphicsItemGroup per raggruppare gli elementi in un unico elemento.
Ho giocato un po 'con esso e non sono sicuro di usarlo perché quando voglio catturare gli eventi, gli eventi vengono uniti insieme, ma voglio gestire eventi specifici con un bambino specifico.
Come posso ottenere questo risultato?Eventi con QGraphicsItemGroup

risposta

12

È necessario chiamare QGraphicsItemGroup::setHandlesChildEvents(false). Ciò interrompe il QGraphicsItemGroup cercando di gestire l'evento, e lascia che il bambino sia il QGraphicsItem s a gestirli.

3

Penso che sia il punto dello QGraphicsItemGroup. A giudicare dalla documentazione, questo ha lo scopo di semplificare lo spostamento e la trasformazione di più elementi contemporaneamente, ad es. Immagina il seguente caso: un utente disegna un rettangolo di selezione attorno a diversi elementi di un'applicazione perché vuole spostarli tutti. Forse quello che vuoi di più è creare una gerarchia di elementi, ad es. avere un elemento principale con diversi elementi figlio. In questo modo otterrai i singoli eventi per ogni oggetto. Questo può essere ottenuto chiamando il numero QGraphicsItem::setParentItem();

+2

Ogni volta che ho provato a utilizzare QGraphicsItemGroup sono tornato alle normali relazioni figlio parent. La documentazione non è molto chiara su di esso –