QGraphicsItemGroup Class

QGraphicsItemGroup 클래스는 항목 그룹을 단일 항목으로 취급하는 컨테이너를 제공합니다. 더 보기...

Header: #include <QGraphicsItemGroup>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속합니다: QGraphicsItem

공용 유형

enum anonymous { Type }

공용 함수

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

재구현된 공용 함수

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

상세 설명

QGraphicsItemGroup은 자신과 모든 자식을 하나의 항목으로 취급하는 특수한 유형의 복합 항목입니다(즉, 모든 자식에 대한 모든 이벤트와 지오메트리가 함께 병합됨). 사용자가 항목의 이동과 복사를 단순화하기 위해 여러 개의 작은 항목을 하나의 큰 항목으로 그룹화하려는 경우 프레젠테이션 도구에서 항목 그룹을 사용하는 것이 일반적입니다.

다른 항목 안에 항목을 저장하려는 경우 setParentItem()에 적절한 부모를 전달하여 QGraphicsItem 을 직접 사용할 수 있습니다.

QGraphicsItemGroup의 boundingRect() 함수는 항목 그룹에 있는 모든 항목의 경계 사각형을 반환합니다. QGraphicsItemGroup은 자식에 대한 ItemIgnoresTransformations 플래그를 무시합니다(즉, 그룹 항목의 지오메트리와 관련하여 자식은 변형 가능한 것처럼 취급됩니다).

항목 그룹을 구성하는 방법에는 두 가지가 있습니다. 가장 쉽고 일반적인 접근 방식은 항목 목록(예: 선택한 모든 항목)을 QGraphicsScene::createItemGroup()에 전달하면 새 QGraphicsItemGroup 항목이 반환되는 것입니다. 다른 접근 방식은 QGraphicsItemGroup 항목을 수동으로 구성하고 QGraphicsScene::addItem()를 호출하여 장면에 추가한 다음 addToGroup()를 호출하여 그룹에 항목을 한 번에 하나씩 수동으로 추가하는 것입니다. 항목 그룹을 해체("그룹 해제")하려면 QGraphicsScene::destroyItemGroup()를 호출하거나 removeFromGroup()를 호출하여 그룹에서 모든 항목을 수동으로 제거할 수 있습니다.

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

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

setParentItem()를 호출하면 자식 항목의 상위 상대 위치 및 변환만 유지되는 것과 달리, 항목 추가 및 제거 작업은 항목의 장면 상대 위치 및 변환을 유지합니다.

addtoGroup() 함수는 대상 항목을 이 항목 그룹에 다시 부모로 지정하여 장면에 대한 항목의 위치와 변환을 그대로 유지합니다. 즉, 시각적으로는 addToGroup()를 통해 추가된 항목은 항목이나 그룹의 현재 위치 또는 변환에 관계없이 이 작업의 결과로 완전히 변경되지 않지만 항목의 위치 및 매트릭스는 변경될 수 있습니다.

removeFromGroup() 함수는 setParentItem()과 비슷한 의미를 가지며 항목 그룹의 상위 항목으로 항목을 다시 부모로 지정합니다. addToGroup ()와 마찬가지로 항목의 장면 상대적 위치 및 변환은 그대로 유지됩니다.

QGraphicsItem그래픽 보기 프레임워크도참조하세요 .

멤버 유형 문서

enum QGraphicsItemGroup::anonymous

가상 type() 함수가 반환하는 값입니다.

상수Value설명
QGraphicsItemGroup::Type10그래픽 아이템 그룹

멤버 함수 문서

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

QGraphicsItem 의 생성자에 parent 을 전달합니다.

QGraphicsScene::addItem()도 참조하십시오 .

[virtual noexcept] QGraphicsItemGroup::~QGraphicsItemGroup()

QGraphicsItemGroup 를 파괴합니다.

void QGraphicsItemGroup::addToGroup(QGraphicsItem *item)

지정된 item 및 항목의 하위 항목을 이 항목 그룹에 추가합니다. 항목과 하위 항목은 이 그룹으로 다시 부모가 지정되지만 장면에 대한 위치 및 변형은 그대로 유지됩니다.

removeFromGroup() 및 QGraphicsScene::createItemGroup()도 참조하세요 .

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

재구현합니다: QGraphicsItem::boundingRect() const.

이 그룹 항목과 그 모든 자식의 경계 직사각형을 반환합니다.

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

재구현합니다: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

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

재구현합니다: QGraphicsItem::opaqueArea() const.

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

재구현합니다: QGraphicsItem::paint(QPainter *페인터, const Q스타일옵션그래픽아이템 *옵션, Q위젯 *위젯).

void QGraphicsItemGroup::removeFromGroup(QGraphicsItem *item)

이 그룹에서 지정된 item 을 제거합니다. 항목은 이 그룹의 부모 항목으로, 이 그룹에 부모가 없는 경우 0으로 다시 부모가 지정됩니다. 장면에 대한 위치 및 변형은 그대로 유지됩니다.

addToGroup() 및 QGraphicsScene::destroyItemGroup()도 참조하세요 .

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

재구현합니다: QGraphicsItem::type() const.

© 2025 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.