QGraphicsLayoutItem Class

사용자 지정 항목을 레이아웃으로 관리할 수 있도록 QGraphicsLayoutItem 클래스를 상속할 수 있습니다. 더 보기...

Header: #include <QGraphicsLayoutItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속됨:

QGraphicsLayoutQGraphicsWidget

공용 함수

QGraphicsLayoutItem(QGraphicsLayoutItem *parent = nullptr, bool isLayout = false)
virtual ~QGraphicsLayoutItem()
QRectF contentsRect() const
QSizeF effectiveSizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const
QRectF geometry() const
virtual void getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
QGraphicsItem *graphicsItem() const
(since 6.0) virtual bool isEmpty() const
bool isLayout() const
qreal maximumHeight() const
QSizeF maximumSize() const
qreal maximumWidth() const
qreal minimumHeight() const
QSizeF minimumSize() const
qreal minimumWidth() const
bool ownedByLayout() const
QGraphicsLayoutItem *parentLayoutItem() const
qreal preferredHeight() const
QSizeF preferredSize() const
qreal preferredWidth() const
virtual void setGeometry(const QRectF &rect)
void setMaximumHeight(qreal height)
void setMaximumSize(const QSizeF &size)
void setMaximumSize(qreal w, qreal h)
void setMaximumWidth(qreal width)
void setMinimumHeight(qreal height)
void setMinimumSize(const QSizeF &size)
void setMinimumSize(qreal w, qreal h)
void setMinimumWidth(qreal width)
void setParentLayoutItem(QGraphicsLayoutItem *parent)
void setPreferredHeight(qreal height)
void setPreferredSize(const QSizeF &size)
void setPreferredSize(qreal w, qreal h)
void setPreferredWidth(qreal width)
void setSizePolicy(const QSizePolicy &policy)
void setSizePolicy(QSizePolicy::Policy hPolicy, QSizePolicy::Policy vPolicy, QSizePolicy::ControlType controlType = QSizePolicy::DefaultType)
QSizePolicy sizePolicy() const
virtual void updateGeometry()

보호된 함수

void setGraphicsItem(QGraphicsItem *item)
void setOwnedByLayout(bool ownership)
virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const = 0

상세 설명

QGraphicsLayoutItem은 QGraphicsLayout 에 의해 배열된 모든 객체의 크기, 크기 정책 및 크기 힌트를 설명하는 가상 함수 집합을 정의하는 추상 클래스입니다. 이 API에는 항목 자체와 항목 사용자 모두에 관련된 함수가 포함되어 있으며, 대부분의 QGraphicsLayoutItem 함수는 서브클래스의 공용 API에도 포함되어 있습니다.

대부분의 경우 QGraphicsWidgetQGraphicsLayout 같은 기존 레이아웃 인식 클래스는 이미 필요한 기능을 제공합니다. 그러나 이러한 클래스를 서브클래싱하면 레이아웃(QGraphicsWidget) 또는 사용자 정의 레이아웃(QGraphicsLayout)과 잘 작동하는 그래픽 요소를 모두 만들 수 있습니다.

QGraphicsLayoutItem 서브 클래스화하기

QGraphicsLayoutItem의 서브클래스를 만들고 그 가상 함수를 다시 구현하면 레이아웃이 QGraphicsWidgetQGraphicsLayout 을 포함한 다른 QGraphicsLayoutItem과 함께 항목의 크기와 위치를 조정할 수 있습니다.

보호된 sizeHint() 함수와 공개 setGeometry() 함수와 같은 중요한 함수를 다시 구현하는 것으로 시작할 수 있습니다. 아이템이 즉각적인 지오메트리 변경을 인식하도록 하려면 updateGeometry() 함수를 다시 구현할 수도 있습니다.

지오메트리, 크기 힌트 및 크기 정책은 항목의 크기와 위치에 영향을 줍니다. setGeometry ()를 호출하면 항상 항목의 크기가 조정되고 위치가 즉시 변경됩니다. 일반적으로 이 함수는 레이아웃이 활성화된 후 QGraphicsLayout 에 의해 호출되지만 항목의 사용자가 언제든지 호출할 수도 있습니다.

sizeHint() 함수는 항목의 최소, 기본 및 최대 크기 힌트를 반환합니다. setMinimumSize (), setPreferredSize() 또는 setMaximumSize()를 호출하여 이러한 속성을 재정의할 수 있습니다. 원하는 경우 setMinimumWidth() 또는 setMaximumHeight()와 같은 함수를 사용하여 너비 또는 높이 구성 요소만 설정할 수도 있습니다.

반면 effectiveSizeHint() 함수는 주어진 Qt::SizeHint 에 대한 크기 힌트를 반환하며, 반환된 크기가 최소 및 최대 크기와 크기 힌트에 바인딩되도록 보장합니다. setSizePolicy ()를 호출하여 항목의 세로 및 가로 크기 정책을 설정할 수 있습니다. sizePolicy 속성은 레이아웃 시스템에서 이 항목의 확대 또는 축소 방식을 설명하는 데 사용됩니다.

QGraphicsLayoutItems 중첩하기

하위 레이아웃을 포함할 수 있는 레이아웃과 유사하게 QGraphicsLayoutItems는 다른 QGraphicsLayoutItems 안에 중첩될 수 있습니다. 이 작업은 QGraphicsLayoutItem의 보호된 생성자에 QGraphicsLayoutItem 포인터를 전달하거나 setParentLayoutItem()를 호출하여 수행합니다. parentLayoutItem () 함수는 항목의 레이아웃 항목 부모에 대한 포인터를 반환합니다. 항목의 부모가 nullptr 이거나 부모가 QGraphicsItem 에서 상속되지 않는 경우 parentLayoutItem() 함수는 nullptr 을 반환합니다. isLayout() 는 QGraphicsLayoutItem 서브 클래스가 레이아웃인 경우 true 을 반환하고 그렇지 않으면 false 를 반환합니다.

Qt는 그래픽스 뷰 프레임워크에서 레이아웃 기능을 제공하기 위해 QGraphicsLayoutItem을 사용하지만, 앞으로는 Qt 자체에 널리 사용될 수 있습니다.

QGraphicsWidget, QGraphicsLayout, QGraphicsLinearLayout, 및 QGraphicsGridLayout참조하십시오 .

멤버 함수 문서

QGraphicsLayoutItem::QGraphicsLayoutItem(QGraphicsLayoutItem *parent = nullptr, bool isLayout = false)

QGraphicsLayoutItem 객체를 생성합니다. parent 이 객체의 부모가 됩니다. isLayout 이 참이면 항목은 레이아웃이고, 그렇지 않으면 isLayout 은 거짓입니다.

[virtual noexcept] QGraphicsLayoutItem::~QGraphicsLayoutItem()

QGraphicsLayoutItem 객체를 삭제합니다.

QRectF QGraphicsLayoutItem::contentsRect() const

내용 직사각형을 로컬 좌표로 반환합니다.

내용 직사각형은 하위 항목을 정렬할 때 관련 레이아웃에서 사용하는 하위 직사각형을 정의합니다. 이 함수는 항목의 geometry()를 콘텐츠 여백에 따라 조정하는 편의 함수입니다. getContentsMargins ()는 항목의 콘텐츠 여백을 반환하기 위해 다시 구현할 수 있는 가상 함수입니다.

getContentsMargins() 및 geometry()도 참조하세요 .

QSizeF QGraphicsLayoutItem::effectiveSizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const

QGraphicsLayoutItem 에 대한 유효 크기 힌트를 반환합니다.

which 는 해당 크기 힌트입니다. constraint 는 유효 크기 힌트를 계산할 때 특별한 제약 조건을 정의하는 선택적 인수입니다. 기본적으로 constraintQSizeF(-1, -1)이며, 이는 크기 힌트에 제약 조건이 없음을 의미합니다.

지정된 너비 또는 높이에 대한 위젯의 크기 힌트를 지정하려면 constraint 에 고정 치수를 제공하면 됩니다. 이 방법은 세로 또는 가로로만 늘어날 수 있고 너비나 높이를 특별한 값으로 설정해야 하는 위젯에 유용합니다.

예를 들어 열 너비 200에 맞는 텍스트 단락 항목은 세로로 늘어날 수 있습니다. QSizeF (200, -1)을 제약 조건으로 전달하여 적절한 최소, 기본 및 최대 높이를 얻을 수 있습니다.)

QGraphicsLayoutItem 서브클래스에서 sizeHint()를 다시 구현하거나 setMinimumSize(), setPreferredSize, 또는 setMaximumSize()(또는 두 함수의 조합) 중 하나를 호출하여 유효 크기 힌트를 조정할 수 있습니다.

이 함수는 각 크기 힌트를 캐시하고 constraint 가 지정되지 않고 updateGeometry()가 호출되지 않는 한 which 의 각 값에 대해 sizeHint()가 한 번만 호출되도록 보장합니다.

sizeHint()도 참조하세요 .

QRectF QGraphicsLayoutItem::geometry() const

항목의 지오메트리(예: 위치 및 크기)를 QRectF 로 반환합니다. 이 함수는 QRectF(pos(), size())와 동일합니다.

setGeometry()도 참조하세요 .

[virtual] void QGraphicsLayoutItem::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const

이 가상 함수는 이 QGraphicsLayoutItem 에 대해 left, top, rightbottom 콘텐츠 여백을 제공합니다. 기본 구현에서는 모든 콘텐츠 여백이 0이라고 가정합니다. 매개 변수는 qreals에 저장된 값을 가리킵니다. 포인터 중 하나라도 nullptr 인 경우 해당 값은 업데이트되지 않습니다.

QGraphicsWidget::setContentsMargins()도 참조하세요 .

QGraphicsItem *QGraphicsLayoutItem::graphicsItem() const

이 레이아웃 항목이 나타내는 QGraphicsItem 을 반환합니다. QGraphicsWidget 의 경우 자체적으로 반환합니다. 사용자 정의 항목의 경우 집계된 값을 반환할 수 있습니다.

setGraphicsItem()도 참조하세요 .

[virtual, since 6.0] bool QGraphicsLayoutItem::isEmpty() const

이 항목이 비어 있는 경우, 즉 콘텐츠가 없고 공간을 차지해서는 안 되는 경우 true 을 반환합니다.

기본 구현은 항목이 숨겨져 있으면 true 참을 반환합니다(단, size policy retainSizeWhenHidden이 true

이 함수는 Qt 6.0에 도입되었습니다.

sizePolicy()도 참조하십시오 .

bool QGraphicsLayoutItem::isLayout() const

QGraphicsLayoutItem 이 레이아웃인 경우(예: 다른 QGraphicsLayoutItem 객체를 정렬하는 객체에 의해 상속된 경우) true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

QGraphicsLayout참조하십시오 .

qreal QGraphicsLayoutItem::maximumHeight() const

최대 높이를 반환합니다.

setMaximumHeight(), setMaximumSize(), maximumSize()도 참조하세요 .

QSizeF QGraphicsLayoutItem::maximumSize() const

최대 크기를 반환합니다.

setMaximumSize(), minimumSize(), preferredSize(), Qt::MaximumSize, 및 sizeHint()도 참조하세요 .

qreal QGraphicsLayoutItem::maximumWidth() const

최대 너비를 반환합니다.

setMaximumWidth(), setMaximumSize() 및 maximumSize()도 참조하세요 .

qreal QGraphicsLayoutItem::minimumHeight() const

최소 높이를 반환합니다.

setMinimumHeight(), setMinimumSize() 및 minimumSize()도 참조하세요 .

QSizeF QGraphicsLayoutItem::minimumSize() const

최소 크기를 반환합니다.

setMinimumSize(), preferredSize(), maximumSize(), Qt::MinimumSize, 및 sizeHint()도 참조하세요 .

qreal QGraphicsLayoutItem::minimumWidth() const

최소 너비를 반환합니다.

setMinimumWidth(), setMinimumSize() 및 minimumSize()도 참조하세요 .

bool QGraphicsLayoutItem::ownedByLayout() const

레이아웃이 소멸자에서 이 항목을 삭제할지 여부를 반환합니다. 참이면 레이아웃이 삭제합니다. false이면 다른 객체가 이 항목의 소유권을 가지고 있다고 가정하고 레이아웃이 이 항목을 삭제하지 않습니다.

항목이 QGraphicsItemQGraphicsLayoutItem (예: QGraphicsWidget )을 모두 상속하는 경우 항목은 실제로 두 소유권 계층 구조의 일부입니다. 이 속성은 레이아웃이 파괴될 때 하위 항목에 대해 레이아웃이 수행해야 할 작업을 알려줍니다. QGraphicsWidget 의 경우 레이아웃이 삭제될 때 자식 항목도 그래픽 항목 계층 구조의 일부이므로 삭제되지 않도록 하는 것이 좋습니다.

기본적으로 이 값은 QGraphicsLayoutItem 에서 거짓으로 초기화되지만 QGraphicsLayout 에서 참을 반환하도록 재정의됩니다. 이는 QGraphicsLayout 이 일반적으로 QGraphicsItem 계층 구조의 일부가 아니므로 부모 레이아웃에서 삭제해야 하기 때문입니다. 서브클래스는 setOwnedByLayout(참)을 호출하여 이 기본 동작을 재정의할 수 있습니다.

setOwnedByLayout()도 참조하세요 .

QGraphicsLayoutItem *QGraphicsLayoutItem::parentLayoutItem() const

QGraphicsLayoutItem 의 부모를 반환하거나, 부모가 없거나 부모가 QGraphicsLayoutItem 에서 상속하지 않는 경우 nullptr 을 반환합니다(QGraphicsLayoutItem 은 종종 QObject 파생 클래스와 함께 다중 상속을 통해 사용됩니다).

setParentLayoutItem()도 참조하세요 .

qreal QGraphicsLayoutItem::preferredHeight() const

원하는 높이를 반환합니다.

setPreferredHeight(), setPreferredSize() 및 preferredSize()도 참조하세요 .

QSizeF QGraphicsLayoutItem::preferredSize() const

선호하는 크기를 반환합니다.

setPreferredSize(), minimumSize(), maximumSize(), Qt::PreferredSize, 및 sizeHint()도 참조하세요 .

qreal QGraphicsLayoutItem::preferredWidth() const

기본 설정 너비를 반환합니다.

setPreferredWidth(), setPreferredSize() 및 preferredSize()도 참조하세요 .

[virtual] void QGraphicsLayoutItem::setGeometry(const QRectF &rect)

이 가상 함수는 QGraphicsLayoutItem 의 지오메트리를 상위 좌표에 있는 rect 로 설정합니다(예: rect 의 왼쪽 상단 모서리는 상위 좌표에서 항목의 위치와 동일).

지오메트리 업데이트를 받으려면 QGraphicsLayoutItem 의 서브클래스에서 이 함수를 다시 구현해야 합니다. 레이아웃은 재정렬을 수행할 때 이 함수를 호출합니다.

rectminimumSizemaximumSize 의 범위를 벗어난 경우 법적 범위 내에 있도록 가장 가까운 크기로 조정됩니다.

geometry()도 참조하세요 .

[protected] void QGraphicsLayoutItem::setGraphicsItem(QGraphicsItem *item)

QGraphicsLayoutItemQGraphicsItem 을 나타내며 QGraphicsLayout 의 자동 리패런팅 기능을 활용하려면 이 값을 설정해야 합니다. item 을 삭제하고 레이아웃 항목을 삭제하지 않는 경우, 포인터가 매달려 있는 것을 방지하기 위해 setGraphicsItem(nullptr)을 호출해야 한다는 점에 유의하세요.

graphicsItem()도 참조하세요 .

void QGraphicsLayoutItem::setMaximumHeight(qreal height)

최대 높이를 height 로 설정합니다.

maximumHeight(), setMaximumSize() 및 maximumSize()도 참조하세요 .

void QGraphicsLayoutItem::setMaximumSize(const QSizeF &size)

최대 크기를 size 로 설정합니다. 이 속성은 Qt::MaximumSize 에 대해 sizeHint()를 재정의하고 effectiveSizeHint()가 size 보다 큰 크기를 반환하지 않도록 합니다. 최대 크기를 설정 해제하려면 잘못된 크기를 사용합니다.

maximumSize(), minimumSize(), preferredSize(), Qt::MaximumSize, 및 sizeHint()도 참조하세요 .

void QGraphicsLayoutItem::setMaximumSize(qreal w, qreal h)

이 편의 함수는 setMaximumSize(QSizeF(w, h))를 호출하는 것과 동일합니다.

maximumSize(), setMinimumSize(), setPreferredSize() 및 sizeHint()도 참조하세요 .

void QGraphicsLayoutItem::setMaximumWidth(qreal width)

최대 너비를 width 로 설정합니다.

maximumWidth(), setMaximumSize() 및 maximumSize()도 참조하세요 .

void QGraphicsLayoutItem::setMinimumHeight(qreal height)

최소 높이를 height 로 설정합니다.

minimumHeight(), setMinimumSize() 및 minimumSize()도 참조하세요 .

void QGraphicsLayoutItem::setMinimumSize(const QSizeF &size)

최소 크기를 size 로 설정합니다. 이 속성은 Qt::MinimumSize 에 대해 sizeHint()를 재정의하고 effectiveSizeHint()가 size 보다 작은 크기를 반환하지 않도록 합니다. 최소 크기를 설정 해제하려면 잘못된 크기를 사용합니다.

minimumSize(), maximumSize(), preferredSize(), Qt::MinimumSize, sizeHint(), setMinimumWidth() 및 setMinimumHeight()도 참조하세요 .

void QGraphicsLayoutItem::setMinimumSize(qreal w, qreal h)

이 편의 함수는 setMinimumSize(QSizeF(w, h))를 호출하는 것과 동일합니다.

minimumSize(), setMaximumSize(), setPreferredSize() 및 sizeHint()도 참조하세요 .

void QGraphicsLayoutItem::setMinimumWidth(qreal width)

최소 너비를 width 로 설정합니다.

minimumWidth(), setMinimumSize() 및 minimumSize()도 참조하세요 .

[protected] void QGraphicsLayoutItem::setOwnedByLayout(bool ownership)

레이아웃이 소멸자에서 이 항목을 삭제할지 여부를 설정합니다. 레이아웃이 이 항목을 삭제하려면 ownership 이 참이어야 합니다.

ownedByLayout()도 참조하세요 .

void QGraphicsLayoutItem::setParentLayoutItem(QGraphicsLayoutItem *parent)

QGraphicsLayoutItem 의 부모를 parent 로 설정합니다.

parentLayoutItem()도 참조하세요 .

void QGraphicsLayoutItem::setPreferredHeight(qreal height)

기본 높이를 height 로 설정합니다.

preferredHeight(), preferredWidth(), setPreferredSize() 및 preferredSize()도 참조하세요 .

void QGraphicsLayoutItem::setPreferredSize(const QSizeF &size)

기본 크기를 size 로 설정합니다. 이 속성은 Qt::PreferredSize 에 대해 sizeHint()을 재정의하고 effectiveSizeHint()의 기본값을 제공합니다. 기본 크기를 설정 해제하려면 잘못된 크기를 사용합니다.

preferredSize(), minimumSize(), maximumSize(), Qt::PreferredSize, 및 sizeHint()도 참조하세요 .

void QGraphicsLayoutItem::setPreferredSize(qreal w, qreal h)

이 편의 함수는 setPreferredSize(QSizeF(w, h))를 호출하는 것과 동일합니다.

preferredSize(), setMaximumSize(), setMinimumSize() 및 sizeHint()도 참조하세요 .

void QGraphicsLayoutItem::setPreferredWidth(qreal width)

기본 너비를 width 로 설정합니다.

preferredWidth(), preferredHeight(), setPreferredSize() 및 preferredSize()도 참조하세요 .

void QGraphicsLayoutItem::setSizePolicy(const QSizePolicy &policy)

크기 정책을 policy 로 설정합니다. 크기 정책은 레이아웃에서 항목을 가로 및 세로로 정렬할 때 항목이 어떻게 커져야 하는지를 설명합니다.

QGraphicsLayoutItem의 기본 크기 정책은 (QSizePolicy::Fixed, QSizePolicy::Fixed, QSizePolicy::DefaultType)이지만, 하위 클래스에서 기본값을 변경하는 것이 일반적입니다. 예를 들어 QGraphicsWidget 의 기본값은 (QSizePolicy::Preferred, QSizePolicy::Preferred, QSizePolicy::DefaultType)입니다.

sizePolicy() 및 QWidget::sizePolicy()도 참조하세요 .

void QGraphicsLayoutItem::setSizePolicy(QSizePolicy::Policy hPolicy, QSizePolicy::Policy vPolicy, QSizePolicy::ControlType controlType = QSizePolicy::DefaultType)

이 함수는 오버로드된 함수입니다.

이 함수는 setSizePolicy(QSizePolicy(hPolicy, vPolicy, controlType))를 호출하는 것과 동일합니다.

sizePolicy() 및 QWidget::sizePolicy()도 참조하세요 .

[pure virtual protected] QSizeF QGraphicsLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const

이 순수 가상 함수는 QGraphicsLayoutItemwhich 에 대한 크기 힌트를 반환하고 constraint 의 너비 또는 높이를 사용하여 출력을 제한합니다.

이 함수를 QGraphicsLayoutItem 의 하위 클래스에서 다시 구현하여 항목에 필요한 크기 힌트를 제공하세요.

effectiveSizeHint()도 참조하세요 .

QSizePolicy QGraphicsLayoutItem::sizePolicy() const

현재 크기 정책을 반환합니다.

setSizePolicy() 및 QWidget::sizePolicy()도 참조하세요 .

[virtual] void QGraphicsLayoutItem::updateGeometry()

이 가상 함수는 캐시된 크기 힌트 정보를 모두 삭제합니다. sizeHint () 함수의 반환값을 변경하는 경우 항상 이 함수를 호출해야 합니다. 서브클래스는 이 함수를 재구현할 때 항상 기본 구현을 호출해야 합니다.

effectiveSizeHint()도 참조하세요 .

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