Auf dieser Seite

QGraphicsItemGroup Class

Die Klasse `QGraphicsItemGroup` stellt einen Container bereit, der eine Gruppe von Elementen als ein einziges Element behandelt. Mehr...

Header: #include <QGraphicsItemGroup>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QGraphicsItem

Öffentliche Typen

enum { Type }

Öffentliche Funktionen

QGraphicsItemGroup(QGraphicsItem *parent = nullptr)
virtual ~QGraphicsItemGroup()
void addToGroup(QGraphicsItem *item)
void removeFromGroup(QGraphicsItem *item)

Neu implementierte öffentliche Funktionen

virtual QRectF boundingRect() const override
virtual bool isObscuredBy(const QGraphicsItem *item) const override
virtual QPainterPath opaqueArea() const override
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override
virtual int type() const override

Ausführliche Beschreibung

Ein QGraphicsItemGroup ist eine spezielle Art von zusammengesetztem Element, das sich selbst und alle seine untergeordneten Elemente als ein einziges Element behandelt (d. h., alle Ereignisse und Geometrien aller untergeordneten Elemente werden zusammengeführt). Item-Gruppen werden häufig in Präsentationswerkzeugen verwendet, wenn der Benutzer mehrere kleinere Elemente zu einem großen Element gruppieren möchte, um das Verschieben und Kopieren von Elementen zu vereinfachen.

Wenn Sie lediglich Elemente in anderen Elementen speichern möchten, können Sie jede beliebige ` QGraphicsItem ` direkt verwenden, indem Sie ein geeignetes übergeordnetes Element an ` setParentItem()` übergeben.

Die Funktion ` boundingRect()` von `QGraphicsItemGroup` gibt das Begrenzungsrechteck aller Elemente in der Elementgruppe zurück. `QGraphicsItemGroup` ignoriert das Flag `ItemIgnoresTransformations` bei ihren untergeordneten Elementen (d. h., in Bezug auf die Geometrie des Gruppenelements werden die untergeordneten Elemente so behandelt, als wären sie transformierbar).

Es gibt zwei Möglichkeiten, eine Elementgruppe zu erstellen. Der einfachste und gängigste Ansatz besteht darin, eine Liste von Elementen (z. B. alle ausgewählten Elemente) an ` QGraphicsScene::createItemGroup()` zu übergeben, wodurch ein neues `QGraphicsItemGroup`-Element zurückgegeben wird. Der andere Ansatz besteht darin, ein „QGraphicsItemGroup“-Element manuell zu erstellen, es mit dem Aufruf von „ QGraphicsScene::addItem()“ zur Szene hinzuzufügen und dann Elemente einzeln manuell zur Gruppe hinzuzufügen, indem man „ addToGroup()“ aufruft. Um eine Elementgruppe aufzulösen („ungroup“), können Sie entweder ` QGraphicsScene::destroyItemGroup()` aufrufen oder alle Elemente manuell aus der Gruppe entfernen, indem Sie ` removeFromGroup()` aufrufen.

// Group all selected items together
QGraphicsItemGroup *group = scene->createItemGroup(scene->selectedItems());

// Destroy the group, and delete the group item
scene->destroyItemGroup(group);

Beim Hinzufügen und Entfernen von Elementen bleiben deren szenenrelative Position und Transformation erhalten – im Gegensatz zum Aufruf von „ setParentItem()“, bei dem nur die elternrelative Position und Transformation des untergeordneten Elements beibehalten werden.

Die Funktion `addtoGroup()` ordnet das Zielelement dieser Elementgruppe neu zu, wobei die Position und Transformation des Elements relativ zur Szene erhalten bleiben. Optisch bedeutet dies, dass Elemente, die über ` addToGroup()` hinzugefügt wurden, durch diesen Vorgang völlig unverändert bleiben, unabhängig von der aktuellen Position oder Transformation des Elements oder der Gruppe; allerdings ändern sich wahrscheinlich die Position und die Matrix des Elements.

Die Funktion „ removeFromGroup()“ weist eine ähnliche Semantik wie „ setParentItem();“ auf; sie ordnet das Element dem übergeordneten Element der Elementgruppe zu. Wie bei „ addToGroup()“ bleiben die szenenbezogene Position und Transformation des Elements unverändert.

Siehe auch „ QGraphicsItem “ und „Graphics View Framework“.

Dokumentation zu Mitgliedstypen

[anonymous] enum

Der von der virtuellen Funktion ` type()` zurückgegebene Wert.

KonstanteWertBeschreibung
QGraphicsItemGroup::Type10Eine Grafikobjektgruppe

Dokumentation der Mitgliedsfunktionen

[explicit] QGraphicsItemGroup::QGraphicsItemGroup(QGraphicsItem *parent = nullptr)

Erstellt eine `QGraphicsItemGroup`. ` parent ` wird an den Konstruktor von ` QGraphicsItem` übergeben.

Siehe auch QGraphicsScene::addItem().

[virtual noexcept] QGraphicsItemGroup::~QGraphicsItemGroup()

Zerstört die „ QGraphicsItemGroup “.

void QGraphicsItemGroup::addToGroup(QGraphicsItem *item)

Fügt die angegebenen item sowie die untergeordneten Elemente des Elements zu dieser Elementgruppe hinzu. Das Element und seine untergeordneten Elemente werden dieser Gruppe zugeordnet, ihre Position und Transformation relativ zur Szene bleiben jedoch erhalten.

Siehe auch „ removeFromGroup()“ und „ QGraphicsScene::createItemGroup()“.

[override virtual] QRectF QGraphicsItemGroup::boundingRect() const

Implementiert neu: ` QGraphicsItem::boundingRect()` const.

Gibt den Begrenzungsrahmen dieses Gruppenelements und aller seiner untergeordneten Elemente zurück.

[override virtual] bool QGraphicsItemGroup::isObscuredBy(const QGraphicsItem *item) const

Implementiert: ` QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const`.

[override virtual] QPainterPath QGraphicsItemGroup::opaqueArea() const

Implementiert: ` QGraphicsItem::opaqueArea()` const.

[override virtual] void QGraphicsItemGroup::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)

Implementiert neu: ` QGraphicsItem::paint` (`QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget`).

void QGraphicsItemGroup::removeFromGroup(QGraphicsItem *item)

Entfernt das angegebene Element „ item “ aus dieser Gruppe. Das Element wird dem übergeordneten Element dieser Gruppe zugeordnet oder, falls diese Gruppe kein übergeordnetes Element hat, der Nummer 0. Seine Position und Transformation relativ zur Szene bleiben dabei erhalten.

Siehe auch „ addToGroup “ () und „ QGraphicsScene::destroyItemGroup “ ().

[override virtual] int QGraphicsItemGroup::type() const

Implementiert: ` QGraphicsItem::type()` const.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.