QQuickItem Class

QQuickItem 클래스는 모든 시각적 항목 중 가장 기본이 되는 Qt Quick. 더 보기...

헤더를 제공합니다: #include <QQuickItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
QML에서: Item
상속합니다: QObjectQQmlParserStatus
상속받는 사람

QQuickFramebufferObject, QQuickPaintedItem, 그리고 QQuickRhiItem

공용 유형

union ItemChangeData
enum Flag { ItemClipsChildrenToShape, ItemAcceptsInputMethod, ItemIsFocusScope, ItemHasContents, ItemAcceptsDrops, …, ItemObservesViewport }
flags Flags
enum ItemChange { ItemChildAddedChange, ItemChildRemovedChange, ItemSceneChange, ItemVisibleHasChanged, ItemParentHasChanged, …, ItemEnabledHasChanged }
enum TransformOrigin { TopLeft, Top, TopRight, Left, Center, …, BottomRight }

속성

공용 기능

QQuickItem(QQuickItem *parent = nullptr)
virtual ~QQuickItem() override
bool acceptHoverEvents() const
bool acceptTouchEvents() const
Qt::MouseButtons acceptedMouseButtons() const
bool activeFocusOnTab() const
bool antialiasing() const
qreal baselineOffset() const
QBindable<qreal> bindableHeight()
QBindable<qreal> bindableWidth()
QBindable<qreal> bindableX()
QBindable<qreal> bindableY()
virtual QRectF boundingRect() const
QQuickItem *childAt(qreal x, qreal y) const
QList<QQuickItem *> childItems() const
QRectF childrenRect()
bool clip() const
virtual QRectF clipRect() const
QObject *containmentMask() const
virtual bool contains(const QPointF &point) const
QCursor cursor() const
(since 6.3) void dumpItemTree() const
(since 6.3) void ensurePolished()
bool filtersChildMouseEvents() const
QQuickItem::Flags flags() const
Qt::FocusPolicy focusPolicy() const
void forceActiveFocus()
void forceActiveFocus(Qt::FocusReason reason)
QSharedPointer<QQuickItemGrabResult> grabToImage(const QSize &targetSize = QSize())
bool hasActiveFocus() const
bool hasFocus() const
qreal height() const
qreal implicitHeight() const
qreal implicitWidth() const
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const
bool isAncestorOf(const QQuickItem *child) const
bool isEnabled() const
bool isFocusScope() const
virtual bool isTextureProvider() const
bool isVisible() const
bool keepMouseGrab() const
bool keepTouchGrab() const
QPointF mapFromGlobal(const QPointF &point) const
QPointF mapFromItem(const QQuickItem *item, const QPointF &point) const
QPointF mapFromScene(const QPointF &point) const
QRectF mapRectFromItem(const QQuickItem *item, const QRectF &rect) const
QRectF mapRectFromScene(const QRectF &rect) const
QRectF mapRectToItem(const QQuickItem *item, const QRectF &rect) const
QRectF mapRectToScene(const QRectF &rect) const
QPointF mapToGlobal(const QPointF &point) const
QPointF mapToItem(const QQuickItem *item, const QPointF &point) const
QPointF mapToScene(const QPointF &point) const
QQuickItem *nextItemInFocusChain(bool forward = true)
qreal opacity() const
QQuickItem *parentItem() const
void polish()
void resetAntialiasing()
void resetHeight()
void resetWidth()
qreal rotation() const
qreal scale() const
QQuickItem *scopedFocusItem() const
void setAcceptHoverEvents(bool enabled)
void setAcceptTouchEvents(bool enabled)
void setAcceptedMouseButtons(Qt::MouseButtons buttons)
void setActiveFocusOnTab(bool)
void setAntialiasing(bool)
void setBaselineOffset(qreal)
void setClip(bool)
void setContainmentMask(QObject *mask)
void setCursor(const QCursor &cursor)
void setEnabled(bool)
void setFiltersChildMouseEvents(bool filter)
void setFlag(QQuickItem::Flag flag, bool enabled = true)
void setFlags(QQuickItem::Flags flags)
void setFocus(bool)
void setFocus(bool focus, Qt::FocusReason reason)
void setFocusPolicy(Qt::FocusPolicy policy)
void setHeight(qreal)
void setImplicitHeight(qreal)
void setImplicitWidth(qreal)
void setKeepMouseGrab(bool keep)
void setKeepTouchGrab(bool keep)
void setOpacity(qreal)
void setParentItem(QQuickItem *parent)
void setRotation(qreal)
void setScale(qreal)
void setSize(const QSizeF &size)
void setSmooth(bool)
void setState(const QString &)
void setTransformOrigin(QQuickItem::TransformOrigin)
void setVisible(bool)
void setWidth(qreal)
void setX(qreal)
void setY(qreal)
void setZ(qreal)
QSizeF size() const
bool smooth() const
void stackAfter(const QQuickItem *sibling)
void stackBefore(const QQuickItem *sibling)
QString state() const
virtual QSGTextureProvider *textureProvider() const
QQuickItem::TransformOrigin transformOrigin() const
void unsetCursor()
QQuickItem *viewportItem() const
qreal width() const
QQuickWindow *window() const
qreal x() const
qreal y() const
qreal z() const

공용 슬롯

void update()

신호

void activeFocusChanged(bool)
void activeFocusOnTabChanged(bool)
void antialiasingChanged(bool)
void baselineOffsetChanged(qreal)
void childrenRectChanged(const QRectF &)
void clipChanged(bool)
void containmentMaskChanged()
void enabledChanged()
void focusChanged(bool)
void focusPolicyChanged(Qt::FocusPolicy)
void heightChanged()
void implicitHeightChanged()
void implicitWidthChanged()
void opacityChanged()
void parentChanged(QQuickItem *)
void rotationChanged()
void scaleChanged()
void smoothChanged(bool)
void stateChanged(const QString &)
void transformOriginChanged(QQuickItem::TransformOrigin)
void visibleChanged()
void widthChanged()
void windowChanged(QQuickWindow *window)
void xChanged()
void yChanged()
void zChanged()

보호 함수

가상 bool childMouseEventFilter(QQuickItem * 항목, QEvent * 이벤트)
가상 void dragEnterEvent(QDragEnterEvent *이벤트)
가상 void dragLeaveEvent(QDragLeaveEvent *이벤트)
가상 void dragMoveEvent(QDragMoveEvent *이벤트)
가상 void dropEvent(QDropEvent *이벤트)
가상 void focusInEvent(QFocusEvent *이벤트)
가상 void focusOutEvent(QFocusEvent *이벤트)
(since 6.0) 가상 void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
bool heightValid() const
가상 void hoverEnterEvent(QHoverEvent * 이벤트)
가상 void hoverLeaveEvent(QHoverEvent *이벤트)
가상 void hoverMoveEvent(QHoverEvent *이벤트)
가상 void inputMethodEvent(QInputMethodEvent *이벤트)
bool isComponentComplete() const
가상 void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
가상 void keyPressEvent(QKeyEvent * 이벤트)
가상 void keyReleaseEvent(QKeyEvent *이벤트)
가상 void mouseDoubleClickEvent(QMouseEvent *이벤트)
가상 void mouseMoveEvent(QMouseEvent *이벤트)
가상 무효 mousePressEvent(QMouseEvent * 이벤트)
가상 void mouseReleaseEvent(QMouseEvent *이벤트)
가상 void mouseUngrabEvent()
가상 void releaseResources()
가상 void touchEvent(QTouchEvent * 이벤트)
가상 void touchUngrabEvent()
void updateInputMethod(Qt::InputMethodQueries 쿼리 = Qt::ImQueryInput)
가상 QSGNode *updatePaintNode(QSGNode * oldNode, QQuickItem::UpdatePaintNodeData * updatePaintNodeData)
가상 void updatePolish()
가상 void wheelEvent(QWheelEvent * 이벤트)
bool widthValid() const

재 구현된 보호 함수

virtual void classBegin() override
virtual void componentComplete() override
virtual bool event(QEvent *ev) override

상세 설명

Qt Quick 의 모든 시각적 항목은 QQuickItem에서 상속합니다. QQuickItem 인스턴스는 시각적 외관은 없지만, x 및 y 위치, 너비와 높이, 앵커링 및 키 처리 지원과 같은 시각적 항목에서 공통적으로 사용되는 모든 속성을 정의합니다.

이러한 기능을 상속하는 사용자 지정 시각적 항목을 제공하기 위해 QQuickItem을 서브클래싱할 수 있습니다.

커스텀 씬 그래프 항목

모든 시각적 QML 항목은 장면 그래프를 사용하여 렌더링되며, 기본 구현은 저수준의 고성능 렌더링 스택으로 OpenGL, Vulkan, Metal 또는 Direct 3D와 같은 가속화된 그래픽 API와 밀접하게 연결되어 있습니다. QQuickItem의 서브클래스는 QQuickItem::ItemHasContents 플래그를 설정하고 QQuickItem::updatePaintNode() 함수를 다시 구현하여 자체 사용자 지정 콘텐츠를 씬 그래프에 추가할 수 있습니다.

경고: 그래픽 작업 및 장면 그래프와의 상호 작용은 주로 updatePaintNode() 호출 중에 렌더링 스레드에서만 발생하는 것이 중요합니다. 가장 좋은 경험 법칙은 QQuickItem::updatePaintNode() 함수 안에 접두사가 "QSG"인 클래스만 사용하는 것입니다.

참고: 접두사가 QSG인 모든 클래스는 씬 그래프의 렌더링 스레드에서만 사용해야 합니다. 자세한 내용은 씬 그래프 및 렌더링을 참조하십시오.

그래픽스 리소스 처리

씬 그래프에 사용된 그래픽 리소스의 정리를 처리하는 가장 바람직한 방법은 노드의 자동 정리를 사용하는 것입니다. QQuickItem::updatePaintNode ()에서 반환된 QSGNode 은 적절한 시기에 적절한 스레드에서 자동으로 삭제됩니다. QSGNode 인스턴스의 트리는 기본적으로 설정된 QSGNode::OwnedByParent 을 사용하여 관리됩니다. 따라서 대부분의 사용자 정의 씬 그래프 항목의 경우 추가 작업이 필요하지 않습니다.

QQuickItem::textureProvider()를 구현하는 항목과 같이 노드 트리 외부에 그래픽 리소스를 저장하는 구현은 QML에서 항목이 사용되는 방식에 따라 올바르게 정리하는 데 주의를 기울여야 합니다. 처리해야 할 상황은 다음과 같습니다:

  • 씬 그래프가 무효화됨; 이는 플랫폼 및 QQuickWindow 구성에 따라 QQuickWindow::hide()를 사용하여 창을 숨기거나 창을 닫을 때 발생할 수 있습니다. 아이템 클래스가 invalidateSceneGraph() 이라는 slot 을 구현하는 경우 이 슬롯은 GUI 스레드가 차단된 상태에서 렌더링 스레드에서 호출됩니다. 이는 QQuickWindow::sceneGraphInvalidated()에 연결하는 것과 같습니다. OpenGL을 통해 렌더링하는 경우 이 슬롯이 호출될 때 이 항목 창의 OpenGL 컨텍스트가 바인딩됩니다. 유일한 예외는 예를 들어 EGL_CONTEXT_LOST 를 통해 네이티브 OpenGL이 Qt의 제어 밖에서 파괴된 경우입니다.
  • 항목이 씬에서 제거됩니다; 예를 들어 항목의 부모가 null 로 설정되었거나 다른 창에 있는 항목으로 인해 항목이 씬에서 제거되면 GUI 스레드에서 QQuickItem::releaseResources()가 호출됩니다. QQuickWindow::scheduleRenderJob()를 사용하여 렌더링 리소스 정리를 예약해야 합니다.
  • 항목이 삭제됨; 항목이 실행되는 경우 소멸자가 실행되면 해당 항목에 있는 모든 그래픽 리소스를 삭제해야 합니다. 위의 두 조건 중 어느 것도 충족되지 않은 경우 항목은 윈도우의 일부가 되며 QQuickWindow::scheduleRenderJob()를 사용하여 정리할 수 있습니다. 구현에서 QQuickItem::releaseResources() 호출을 무시하면 대부분의 경우 해당 항목은 더 이상 QQuickWindow 에 액세스할 수 없으므로 정리를 예약할 수 없습니다.

QQuickWindow::scheduleRenderJob()를 사용하여 그래픽 리소스 정리를 예약할 때는 QQuickWindow::BeforeSynchronizingStage 또는 QQuickWindow::AfterSynchronizingStage 를 사용해야 합니다. 동기화 단계는 QML 트리의 변경으로 인해 씬 그래프가 변경되는 곳입니다. 다른 시간에 정리를 예약하면 씬 그래프의 다른 부분이 업데이트되지 않았기 때문에 새로 삭제된 개체를 참조하는 결과가 발생할 수 있습니다.

참고: 그래픽 리소스를 정리할 때 QObject::deleteLater()를 사용하면 delete 작업이 임의의 시간에 실행되고 삭제 시 OpenGL 컨텍스트가 바인딩될지 알 수 없으므로 사용하지 않는 것을 강력히 권장합니다.

사용자 지정 QPainter 항목

QQuickItem은 사용자가 QPainter 을 사용하여 콘텐츠를 렌더링할 수 있는 하위 클래스 QQuickPaintedItem 를 제공합니다.

경고: QQuickPaintedItem 을 사용하면 소프트웨어 래스터화를 사용하여 간접 2D 서페이스를 사용하여 콘텐츠를 렌더링하므로 렌더링은 2단계 작업입니다. 먼저 표면을 래스터화한 다음 표면을 그립니다. 씬 그래프 API를 직접 사용하는 것이 항상 훨씬 빠릅니다.

동작 애니메이션

아이템이 Behavior 유형을 사용하여 프로퍼티 변경에 대한 애니메이션을 정의하는 경우 C++에서 해당 프로퍼티를 수정해야 할 때는 항상 QObject::setProperty(), QQmlProperty() 또는 QMetaProperty::write() 중 하나를 사용해야 합니다. 이렇게 하면 QML 엔진이 프로퍼티 변경에 대해 알 수 있습니다. 그렇지 않으면 엔진이 요청된 애니메이션을 실행할 수 없습니다. 이러한 함수는 약간의 성능 저하가 발생한다는 점에 유의하세요. 자세한 내용은 C++에서 QML 객체 유형의 멤버에 액세스하기를 참조하세요.

QQuickWindowQQuickPaintedItem참조하세요 .

멤버 유형 문서

열거형 QQuickItem::Flag
플래그 QQuickItem::Flags

이 열거형 유형은 다양한 항목 속성을 지정하는 데 사용됩니다.

상수설명
QQuickItem::ItemClipsChildrenToShape0x01이 항목이 시각적으로 자식을 잘라내어 이 항목의 경계 내에서만 렌더링되도록 함을 나타냅니다.
QQuickItem::ItemAcceptsInputMethod0x02항목이 텍스트 입력 방법을 지원함을 나타냅니다.
QQuickItem::ItemIsFocusScope0x04항목이 포커스 범위임을 나타냅니다. 자세한 내용은 Qt Quick 에서 키보드 초점을 참조하세요.
QQuickItem::ItemHasContents0x08항목에 시각적 콘텐츠가 있으며 장면 그래프에 의해 렌더링되어야 함을 나타냅니다.
QQuickItem::ItemAcceptsDrops0x10항목이 드래그 앤 드롭 이벤트를 허용함을 나타냅니다.
QQuickItem::ItemIsViewport0x20항목이 하위 항목에 대한 뷰포트를 정의함을 나타냅니다.
QQuickItem::ItemObservesViewport0x40항목이 조상 항목에 ItemIsViewport 플래그가 설정된 경우 뷰포트 경계를 알고자 함을 나타냅니다.

Flags 유형은 QFlags<Flag>에 대한 typedef입니다. 플래그 값의 OR 조합을 저장합니다.

setFlag(), setFlags() 및 flags()도 참조하십시오 .

enum QQuickItem::ItemChange

QQuickItem::itemChange()와 함께 사용하여 특정 유형의 변경 사항을 항목에 알립니다.

상수설명
QQuickItem::ItemChildAddedChange0하위 항목이 추가되었습니다. ItemChangeData::item 에는 추가된 하위 항목이 포함됩니다.
QQuickItem::ItemChildRemovedChange1자식이 제거되었습니다. ItemChangeData::item 에는 제거된 자식이 포함됩니다.
QQuickItem::ItemSceneChange2항목이 씬에 추가되거나 씬에서 제거되었습니다. ItemChangeData::window 을 사용하여 씬을 렌더링하는 QQuickWindow 을 지정합니다. 항목이 장면에서 제거되면 창 매개변수는 null입니다.
QQuickItem::ItemVisibleHasChanged3항목의 가시성이 변경되었습니다. ItemChangeData::boolValue 에 새 가시성이 포함되어 있습니다.
QQuickItem::ItemParentHasChanged4항목의 부모가 변경되었습니다. ItemChangeData::item 에 새 부모가 포함됩니다.
QQuickItem::ItemOpacityHasChanged5항목의 불투명도가 변경되었습니다. ItemChangeData::realValue 에 새 불투명도가 포함됩니다.
QQuickItem::ItemActiveFocusHasChanged6항목의 초점이 변경되었습니다. ItemChangeData::boolValue 에는 항목에 초점이 있는지 여부가 포함됩니다.
QQuickItem::ItemRotationHasChanged7항목의 회전이 변경되었습니다. ItemChangeData::realValue 에 새 회전이 포함됩니다.
QQuickItem::ItemDevicePixelRatioHasChanged9항목이 있는 화면의 디바이스 픽셀 비율이 변경되었습니다. ItemChangedData::실제값에 새 디바이스 픽셀 비율이 포함됩니다.
QQuickItem::ItemAntialiasingHasChanged8앤티앨리어싱이 변경되었습니다. 현재(부울) 값은 QQuickItem::antialiasing 에서 확인할 수 있습니다.
QQuickItem::ItemEnabledHasChanged10항목의 활성화 상태가 변경되었습니다. ItemChangeData::boolValue 에 새로운 활성화 상태가 포함되어 있습니다. (Qt 5.10 이후)

enum QQuickItem::TransformOrigin

스케일과 같은 단순 변환이 적용되는 지점을 제어합니다.

Constant설명
QQuickItem::TopLeft0항목의 왼쪽 상단 모서리입니다.
QQuickItem::Top1항목 상단의 중심점입니다.
QQuickItem::TopRight2항목의 오른쪽 상단 모서리입니다.
QQuickItem::Left3세로 중앙의 가장 왼쪽 지점입니다.
QQuickItem::Center4항목의 중앙입니다.
QQuickItem::Right5세로 중앙의 가장 오른쪽 지점입니다.
QQuickItem::BottomLeft6항목의 왼쪽 하단 모서리입니다.
QQuickItem::Bottom7항목 하단의 중앙 지점입니다.
QQuickItem::BottomRight8항목의 오른쪽 하단 모서리입니다.

transformOrigin() 및 setTransformOrigin()도 참조하십시오 .

속성 문서

implicitHeight : qreal

implicitWidth : qreal

항목의 기본 너비 또는 높이를 정의합니다.

width 또는 height 을 지정하지 않으면 항목의 유효 크기는 implicitWidth 또는 implicitHeight 에 따라 결정됩니다.

그러나 항목이 레이아웃의 하위 항목인 경우 레이아웃은 해당 항목의 암시적 크기를 사용하여 항목의 기본 크기를 결정합니다. 이러한 시나리오에서는 명시적 width 또는 height 은 무시됩니다.

대부분의 항목의 기본 암시적 크기는 0x0이지만 일부 항목에는 재정의할 수 없는 고유한 암시적 크기가 있습니다(예: ImageText).

암시적 크기를 설정하면 예를 들어 콘텐츠에 따라 선호하는 크기가 있는 컴포넌트를 정의하는 데 유용합니다:

// Label.qml
import QtQuick 2.0

Item {
    property alias icon: image.source
    property alias label: text.text
    implicitWidth: text.implicitWidth + image.implicitWidth
    implicitHeight: Math.max(text.implicitHeight, image.implicitHeight)
    Image { id: image }
    Text {
        id: text
        wrapMode: Text.Wrap
        anchors.left: image.right; anchors.right: parent.right
        anchors.verticalCenter: parent.verticalCenter
    }
}

참고: Text 또는 TextEditimplicitWidth 를 사용하고 너비를 명시적으로 설정하면 텍스트가 두 번 배치되어야 하므로 성능 저하가 발생합니다.

[read-only] activeFocus : const bool

이 읽기 전용 속성은 항목에 활성 초점이 있는지 여부를 나타냅니다.

activeFocus가 참이면 이 항목이 현재 키보드 입력을 받는 항목이거나 현재 키보드 입력을 받는 항목의 FocusScope 조상 항목입니다.

일반적으로 활성 초점은 항목에 focus 을 설정하고 둘러싸는 FocusScope 개체를 설정하여 얻습니다. 다음 예제에서 inputfocusScope 객체는 활성 포커스를 갖지만 루트 사각형 객체는 그렇지 않습니다.

import QtQuick 2.0

Rectangle {
    width: 100; height: 100

    FocusScope {
        focus: true

        TextInput {
            id: input
            focus: true
        }
    }
}

함수에 액세스합니다:

bool hasActiveFocus() const

알림 신호:

void activeFocusChanged(bool)

focus Qt Quick 의 키보드 포커스도참조하세요 .

activeFocusOnTab : bool

이 속성은 항목이 탭 포커스 체인에 포함될지 여부를 저장합니다. 기본적으로 false 로 설정되어 있습니다.

참고: {QStyleHints::tabFocusBehavior}{tabFocusBehavior}는 텍스트 또는 목록 컨트롤과 같은 특정 유형의 컨트롤에만 포커스를 제한할 수 있습니다. 시스템 설정에 따라 특정 컨트롤에 대한 포커스가 제한될 수 있는 macOS의 경우가 이에 해당합니다.

기능 액세스:

bool activeFocusOnTab() const
void setActiveFocusOnTab(bool)

알림 신호:

void activeFocusOnTabChanged(bool)

QStyleHints::tabFocusBehaviorfocusPolicy참조하세요 .

antialiasing : bool

항목에 앤티앨리어싱을 적용할지 여부를 지정합니다.

시각적 요소에서 항목에 앤티앨리어싱을 사용할지 여부를 결정하는 데 사용됩니다. 경우에 따라 앤티앨리어싱이 있는 항목은 더 많은 메모리가 필요하고 렌더링 속도가 느려질 수 있습니다(자세한 내용은 앤티앨리어싱 참조).

기본값은 false이지만 파생 요소에 의해 재정의될 수 있습니다.

함수 액세스:

bool antialiasing() const
void setAntialiasing(bool)
void resetAntialiasing()

알림 신호:

void antialiasingChanged(bool)

baselineOffset : qreal

항목의 기준선 위치를 로컬 좌표로 지정합니다.

Text 항목의 기준선은 텍스트가 놓이는 가상의 선입니다. 텍스트가 포함된 컨트롤은 일반적으로 기준선을 해당 텍스트의 기준선으로 설정합니다.

텍스트가 아닌 항목의 경우 기본 기준선 오프셋인 0이 사용됩니다.

기능에 액세스합니다:

qreal baselineOffset() const
void setBaselineOffset(qreal)

알림 신호:

void baselineOffsetChanged(qreal)

[read-only] childrenRect : const QRectF

이 속성은 항목의 자식들의 집합적인 위치와 크기를 저장합니다.

이 속성은 항목의 크기를 올바르게 조정하기 위해 항목의 자식 지오메트리에 액세스해야 하는 경우에 유용합니다.

반환되는 지오메트리는 항목에 대한 로컬 지오메트리입니다. 예를 들어

Item {
    x: 50
    y: 100

    // prints: QRectF(-10, -20, 30, 40)
    Component.onCompleted: print(childrenRect)

    Item {
        x: -10
        y: -20
        width: 30
        height: 40
    }
}

함수 액세스:

QRectF childrenRect()

알림 신호:

void childrenRectChanged(const QRectF &)

clip : bool

이 속성에는 클리핑 활성화 여부가 저장됩니다. 기본 클립 값은 false 입니다.

클리핑이 활성화되면 항목은 자신의 그림뿐만 아니라 자식 그림도 경계 사각형에 클리핑합니다. 항목의 페인트 작업 중에 클리핑을 설정한 경우 장면의 나머지 부분이 클리핑되지 않도록 다시 설정하는 것을 잊지 마세요.

참고: 클리핑은 렌더링 성능에 영향을 줄 수 있습니다. 자세한 내용은 클리핑을 참조하십시오.

참고: QML의 경우 clip을 true 으로 설정하면 ItemIsViewport 플래그도 설정되는데, 이는 때때로 최적화 역할을 합니다. ItemObservesViewport 플래그가 있는 하위 항목은 뷰포트 외부에 있는 씬 그래프 노드를 만들지 않을 수 있습니다. 하지만 ItemIsViewport 플래그는 독립적으로 설정할 수도 있습니다.

액세스 기능:

bool clip() const
void setClip(bool)

알림 신호:

void clipChanged(bool)

containmentMask : QObject*

이 속성에는 contains() 메서드에서 사용할 선택적 마스크가 있으며, 주로 각 QPointerEvent 을 히트 테스트하는 데 사용됩니다.

기본적으로 contains()는 항목의 바운딩 박스 내의 모든 지점에 대해 true 을 반환합니다. 그러나 QQuickItem 또는 QObject 형식의 함수를 구현하는 경우

Q_INVOKABLE bool contains(const QPointF &point) const;

를 마스크로 사용하여 해당 객체에 대한 적중 테스트를 연기할 수 있습니다.

참고: contains()는 이벤트 전송 중에 자주 호출됩니다. 해당 객체의 contains() 메서드가 효율적이지 않은 경우 containmentMask()는 성능 문제를 일으킬 수 있습니다. 사용자 정의 QQuickItem 서브클래스를 구현하는 경우 contains()를 재정의할 수 있습니다.

함수 액세스:

QObject *containmentMask() const
void setContainmentMask(QObject *mask)

알림 신호:

void containmentMaskChanged()

contains()도 참조하세요 .

enabled : bool

이 속성은 항목이 마우스 및 키보드 이벤트를 수신할지 여부를 저장합니다. 기본적으로 이 속성은 참입니다.

이 속성을 설정하면 하위 항목의 enabled 값에 직접 영향을 줍니다. false 으로 설정하면 모든 하위 항목의 enabled 값도 false 이 됩니다. true 로 설정하면 하위 항목의 enabled 값이 명시적으로 false 로 설정되지 않은 경우 true 로 반환됩니다.

이 속성을 false 로 설정하면 activeFocusfalse 로 자동 설정되며 이 항목은 더 이상 키보드 이벤트를 수신하지 않습니다.

참고: 마우스오버 이벤트는 setAcceptHoverEvents()로 별도로 활성화됩니다. 따라서 비활성화된 항목은 이 속성이 false 인 경우에도 마우스오버 이벤트를 계속 수신할 수 있습니다. 따라서 대화형 항목이 비활성화되어 있어도 정보 피드백(예: ToolTip)을 표시할 수 있습니다. 항목의 하위 항목으로 추가된 HoverHandlers 도 마찬가지입니다. 그러나 HoverHandler 는 명시적으로 disabled 일 수도 있고, 예를 들어 항목의 enabled 상태에 바인딩될 수도 있습니다.

액세스 기능:

bool isEnabled() const
void setEnabled(bool)

알림 신호:

void enabledChanged()

visible참조하세요 .

focus : bool

이 속성은 항목이 둘러싸고 있는 FocusScope 안에 포커스가 있는지 여부를 보유합니다. true인 경우, 이 항목은 둘러싸고 있는 FocusScope 이 활성 포커스를 받을 때 활성 포커스를 받습니다.

다음 예제에서 scope 이 활성 포커스를 획득하면 input 에 활성 포커스가 부여됩니다:

import QtQuick 2.0

Rectangle {
    width: 100; height: 100

    FocusScope {
        id: scope

        TextInput {
            id: input
            focus: true
        }
    }
}

이 속성의 목적을 위해 장면 전체가 포커스 범위처럼 작동하는 것으로 가정합니다. 실제 수준에서 이는 다음 QML이 시작 시 input 에 활성 포커스를 부여한다는 것을 의미합니다.

Rectangle {
    width: 100; height: 100

    TextInput {
          id: input
          focus: true
    }
}

액세스 함수:

bool hasFocus() const
void setFocus(bool)
void setFocus(bool focus, Qt::FocusReason reason)

알림 신호:

void focusChanged(bool)

activeFocus Qt Quick 의 키보드 포커스도참조하세요 .

[since 6.7] focusPolicy : Qt::FocusPolicy

이 속성은 항목이 포커스를 받아들이는 방식을 결정합니다.

이 프로퍼티는 Qt 6.7에 도입되었습니다.

액세스 함수:

Qt::FocusPolicy focusPolicy() const
void setFocusPolicy(Qt::FocusPolicy policy)

알림 신호:

void focusPolicyChanged(Qt::FocusPolicy)

[bindable] height : qreal

참고: 이 속성은 QProperty 바인딩을 지원합니다.

이 속성은 이 항목의 높이를 저장합니다.

opacity : qreal

이 속성은 항목의 불투명도를 보유합니다. 불투명도는 0.0(완전 투명)에서 1.0(완전 불투명) 사이의 숫자로 지정됩니다. 기본값은 1.0입니다.

이 속성을 설정하면 지정된 불투명도가 하위 항목에도 개별적으로 적용됩니다. 일부 상황에서는 의도하지 않은 효과가 발생할 수 있습니다. 예를 들어 아래 두 번째 사각형 집합에서 빨간색 사각형은 불투명도를 0.5로 지정하여 자식이 불투명도를 지정하지 않았음에도 불구하고 파란색 자식 사각형의 불투명도에 영향을 줍니다.

0에서 1 범위를 벗어나는 값은 고정됩니다.

Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

Item {
    Rectangle {
        opacity: 0.5
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

항목의 불투명도를 변경해도 항목의 사용자 입력 이벤트 수신 여부에는 영향을 미치지 않습니다. (반대로 visible 속성을 false 으로 설정하면 마우스 이벤트가 중지되고 enabled 속성을 false 으로 설정하면 마우스 및 키보드 이벤트가 중지되며 항목에서 활성 포커스도 제거됩니다.)

액세스 기능:

qreal opacity() const
void setOpacity(qreal)

알림 신호:

void opacityChanged()

visible참조하세요 .

parent : QQuickItem*

이 속성은 항목의 시각적 부모를 보유합니다.

참고: 시각적 부모의 개념은 QObject 부모의 개념과 다릅니다. 항목의 시각적 부모는 객체 부모와 반드시 같지 않을 수 있습니다. 자세한 내용은 Qt Quick 의 개념 - 시각적 부모를 참조하세요.

참고: 이 속성에 대한 알림 신호는 시각적 부모가 소멸되는 동안 발생합니다. C++ 신호 처리기는 시각적 부모 계층 구조의 항목이 아직 완전히 구성되었다고 가정할 수 없습니다. qobject_cast 을 사용하여 부모 계층 구조의 항목을 예상 유형으로 안전하게 사용할 수 있는지 확인하세요.

기능에 액세스합니다:

QQuickItem *parentItem() const
void setParentItem(QQuickItem *parent)

알림 신호:

void parentChanged(QQuickItem *)

rotation : qreal

이 속성은 transformOrigin 을 중심으로 시계 방향으로 항목의 회전을 도 단위로 유지합니다.

기본값은 0도(즉, 회전 없음)입니다.

Rectangle {
    color: "blue"
    width: 100; height: 100
    Rectangle {
        color: "red"
        x: 25; y: 25; width: 50; height: 50
        rotation: 30
    }
}

기능에 액세스합니다:

qreal rotation() const
void setRotation(qreal)

알림 신호:

void rotationChanged()

TransformRotation참조하세요 .

scale : qreal

이 속성은 이 항목의 배율을 보유합니다.

배율이 1.0 미만이면 항목이 더 작은 크기로 렌더링되고, 1.0보다 크면 항목이 더 큰 크기로 렌더링됩니다. 배율이 음수이면 항목이 렌더링될 때 미러링됩니다.

기본값은 1.0입니다.

배율은 transformOrigin 에서 적용됩니다.

import QtQuick 2.0

Rectangle {
    color: "blue"
    width: 100; height: 100

    Rectangle {
        color: "green"
        width: 25; height: 25
    }

    Rectangle {
        color: "red"
        x: 25; y: 25; width: 50; height: 50
        scale: 1.4
    }
}

액세스 함수에서 적용됩니다:

qreal scale() const
void setScale(qreal)

알림 신호:

void scaleChanged()

TransformScale참조하세요 .

smooth : bool

항목의 평활화 여부를 지정합니다.

주로 이미지 기반 항목에서 항목에 스무딩 샘플링을 사용할지 여부를 결정하기 위해 사용됩니다. 매끄러운 샘플링은 선형 보간을 사용하여 수행되며, 매끄럽지 않은 샘플링은 가장 가까운 이웃을 사용하여 수행됩니다.

Qt Quick 2.0에서는 이 속성이 성능에 미치는 영향이 최소화됩니다.

기본적으로 이 속성은 true 로 설정되어 있습니다.

기능에 액세스합니다:

bool smooth() const
void setSmooth(bool)

알림 신호:

void smoothChanged(bool)

state : QString

이 속성은 항목의 현재 상태 이름을 저장합니다.

항목이 기본 상태인 경우, 즉 명시적인 상태가 설정되지 않은 경우 이 속성은 빈 문자열을 보유합니다. 마찬가지로 이 속성을 빈 문자열로 설정하여 항목을 기본 상태로 되돌릴 수 있습니다.

함수 액세스:

QString state() const
void setState(const QString &)

알림 신호:

void stateChanged(const QString &)

Qt Quick 상태를참조하세요 .

transformOrigin : TransformOrigin

이 프로퍼티는 배율 및 회전 변환의 원점을 보유합니다.

아래 이미지와 같이 9개의 트랜스폼 원점을 사용할 수 있습니다. 기본 트랜스폼 원점은 Item.Center 입니다.

함수에 액세스합니다:

QQuickItem::TransformOrigin transformOrigin() const
void setTransformOrigin(QQuickItem::TransformOrigin)

알림 신호:

void transformOriginChanged(QQuickItem::TransformOrigin)

visible : bool

이 속성은 항목이 표시되는지 여부를 저장합니다. 기본적으로 이 속성은 참입니다.

이 속성을 설정하면 하위 항목의 visible 값에 직접 영향을 줍니다. false 으로 설정하면 모든 하위 항목의 visible 값도 false 이 됩니다. true 로 설정하면 하위 항목의 visible 값이 명시적으로 false 로 설정되지 않은 경우 true 로 반환됩니다.

(이러한 흐름 동작으로 인해 속성 바인딩이 명시적인 속성 변경에만 반응해야 하는 경우 visible 속성을 사용하면 의도한 효과를 얻지 못할 수 있습니다. 이러한 경우 opacity 속성을 대신 사용하는 것이 더 좋을 수 있습니다.)

이 속성을 false 으로 설정하면 항목은 더 이상 마우스 이벤트를 수신하지 않지만 키 이벤트는 계속 수신하고 키보드 focus 가 설정되어 있는 경우 이를 유지합니다. (반대로 enabled 속성을 false 으로 설정하면 마우스 및 키보드 이벤트가 모두 중지되고 항목에서 포커스도 제거됩니다.)

참고: 이 속성 값은 이 속성 또는 상위 속성인 visible 속성의 변경에 의해서만 영향을 받습니다. 예를 들어 이 항목이 화면 밖으로 이동하거나 opacity 이 0으로 변경되는 경우에는 변경되지 않습니다. 그러나 기록상의 이유로 항목이 아직 장면에 추가되지 않은 경우에도 항목이 구성된 후에는 이 속성이 참입니다. 씬에 추가되지 않은 항목의 이 속성을 변경하거나 읽으면 예상한 결과가 나타나지 않을 수 있습니다.

참고: 이 프로퍼티에 대한 알림 신호는 시각적 부모가 소멸되는 동안 발생합니다. C++ 신호 처리기는 시각적 부모 계층 구조의 항목이 아직 완전히 구성되었다고 가정할 수 없습니다. qobject_cast 을 사용하여 상위 계층 구조의 항목을 예상 유형으로 안전하게 사용할 수 있는지 확인하세요.

기능에 액세스합니다:

bool isVisible() const
void setVisible(bool)

알림 신호:

void visibleChanged()

opacityenabled참조하세요 .

[bindable] width : qreal

참고: 이 속성은 QProperty 바인딩을 지원합니다.

이 속성은 이 항목의 너비를 보유합니다.

[bindable] x : qreal

참고: 이 속성은 QProperty 바인딩을 지원합니다.

부모를 기준으로 항목의 x 위치를 정의합니다.

[bindable] y : qreal

참고: 이 속성은 QProperty 바인딩을 지원합니다.

부모를 기준으로 항목의 y 위치를 정의합니다.

z : qreal

형제 항목의 쌓기 순서를 설정합니다. 기본적으로 쌓기 순서는 0입니다.

쌓기 값이 더 높은 항목은 쌓기 순서가 더 낮은 형제 항목 위에 그려집니다. 중첩 값이 같은 항목은 표시되는 순서대로 아래에서 위로 그려집니다. 중첩 값이 음수인 항목은 부모 콘텐츠 아래에 그려집니다.

다음 예시는 겹침 순서에 따른 다양한 효과를 보여줍니다.

동일한 z - 앞의 자식 위에 뒤의 자식이 있습니다:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

위쪽의 상위 z:
Item {
    Rectangle {
        z: 1
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

동일한 z - 부모 위의 자식:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

아래 z:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            z: -1
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

액세스 기능:

qreal z() const
void setZ(qreal)

알림 신호:

void zChanged()

멤버 함수 문서

[explicit] QQuickItem::QQuickItem(QQuickItem *parent = nullptr)

주어진 parent 으로 QQuickItem을 생성합니다.

parentvisual parentQObject 부모로 사용됩니다.

[override virtual noexcept] QQuickItem::~QQuickItem()

QQuickItem 를 파괴합니다.

bool QQuickItem::acceptHoverEvents() const

이 항목에서 마우스오버 이벤트를 허용할지 여부를 반환합니다.

기본값은 false입니다.

false인 경우 항목은 hoverEnterEvent(), hoverMoveEvent() 및 hoverLeaveEvent() 함수를 통해 마우스오버 이벤트를 수신하지 않습니다.

setAcceptHoverEvents()도 참조하세요 .

bool QQuickItem::acceptTouchEvents() const

이 항목에서 터치 이벤트를 허용할지 여부를 반환합니다.

기본값은 false 입니다.

false 인 경우 항목은 touchEvent() 함수를 통해 터치 이벤트를 수신하지 않습니다.

setAcceptTouchEvents()도 참조하세요 .

Qt::MouseButtons QQuickItem::acceptedMouseButtons() const

이 항목에서 허용되는 마우스 버튼을 반환합니다.

기본값은 Qt::NoButton, 즉 마우스 버튼이 허용되지 않습니다.

항목이 특정 마우스 이벤트에 대해 마우스 버튼을 수락하지 않으면 마우스 이벤트가 해당 항목으로 전달되지 않고 대신 항목 계층 구조의 다음 항목으로 전달됩니다.

setAcceptedMouseButtons() 및 acceptTouchEvents()도 참조하세요 .

[virtual] QRectF QQuickItem::boundingRect() const

0, 0 ~ width() 및 height()의 직사각형과 같은 자체 좌표계에서 항목의 범위를 반환합니다.

[invokable] QQuickItem *QQuickItem::childAt(qreal x, qreal y) const

이 항목의 좌표계 내 점(x, y)에서 가장 먼저 보이는 하위 항목을 반환합니다.

해당 항목이 없으면 nullptr 을 반환합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

QList<QQuickItem *> QQuickItem::childItems() const

이 항목의 하위 항목을 반환합니다.

[virtual protected] bool QQuickItem::childMouseEventFilter(QQuickItem *item, QEvent *event)

이 메서드를 다시 구현하여 이 항목의 하위 항목이 수신하는 포인터 이벤트를 필터링합니다.

이 메서드는 filtersChildMouseEvents()가 true 인 경우에만 호출됩니다.

지정된 event 이 지정된 자식 item 으로 전달되어서는 안 되는 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다. true event 를 반환하는 경우 accept 또는 ignore 를 반환하여 이벤트 전파를 중지할지 계속할지 알려야 합니다. 그러나 event 은 항상 부모 체인의 모든 자식 마우스이벤트필터에 전송됩니다.

참고: 이름과 달리 이 함수는 모든 자식(일반적으로 마우스, 터치, 태블릿 이벤트)에 전달되는 동안 모든 QPointerEvent 인스턴스를 필터링합니다. 하위 클래스에서 이 함수를 재정의할 때는 QPointerEvent 에 있는 접근자만 사용하여 일반 이벤트 처리 코드를 작성하는 것이 좋습니다. 또는 event->type() 및/또는 event->device()->type() 을 켜서 다양한 이벤트 유형을 다른 방식으로 처리할 수 있습니다.

참고: 필터링은 제스처가 모호한 경우(예: 사용자가 누를지 끌지 모를 때)에 책임을 공유하는 한 가지 방법일 뿐입니다(예: 사용자가 누를지 끌지 모를 때). 또 다른 방법은 누를 때 QPointerEvent::addPassiveGrabber()를 호출하여 QEventPoint 의 진행 상황을 비독점적으로 모니터링하는 것입니다. 두 경우 모두 모니터링 중인 항목 또는 포인터 핸들러는 나중에 제스처가 예상하는 패턴에 맞는 것이 분명해지면 독점 잡기를 훔칠 수 있습니다.

setFiltersChildMouseEvents()도 참조하세요 .

[override virtual protected] void QQuickItem::classBegin()

다시 구현합니다: QQmlParserStatus::classBegin().

파생 클래스는 classBegin에서 수행할 자체 액션을 추가하기 전에 기본 클래스 메서드를 호출해야 합니다.

[virtual] QRectF QQuickItem::clipRect() const

뷰포트가 있고 ItemObservesViewport 플래그가 설정된 경우 현재 viewportItem()에 표시되는 이 항목 내의 직사각형 영역을 반환하고, 그렇지 않으면 자체 좌표계에서 이 항목의 범위인 0, 0 에서 width() 및 height()까지의 직사각형을 반환합니다. cliptrue 인 경우 계속 표시되도록 하는 영역입니다. updatePaintNode()에서 사용하여 씬 그래프에 추가된 그래픽을 제한할 수도 있습니다.

예를 들어 큰 그림이나 큰 텍스트 문서가 애플리케이션 창의 일부만 차지하는 플릭커블에 표시될 수 있는데, 이 경우 플릭커블은 뷰포트 항목이고 사용자 지정 콘텐츠 렌더링 항목은 현재 표시되는 영역을 벗어나는 장면 그래프 노드를 생략하도록 선택할 수 있습니다. ItemObservesViewport 플래그가 설정된 경우 이 영역은 사용자가 플릭가능에서 콘텐츠를 스크롤할 때마다 변경됩니다.

중첩된 뷰포트 항목의 경우 clipRect()는 ItemIsViewport 플래그가 설정된 모든 조상 항목의 boundingRects의 교차점으로, 항목의 좌표계에 매핑됩니다.

boundingRect()도 참조하십시오 .

[override virtual protected] void QQuickItem::componentComplete()

다시 구현합니다: QQmlParserStatus::componentComplete().

파생 클래스는 컴포넌트 컴플리트에서 수행할 자체 액션을 추가하기 전에 베이스 클래스 메서드를 호출해야 합니다.

[virtual invokable] bool QQuickItem::contains(const QPointF &point) const

이 항목에 로컬 좌표인 point 이 포함된 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

이 함수는 사용자 정의 모양이 있는 항목의 점 충돌을 처리하기 위해 재정의할 수 있습니다. 기본 구현은 점이 설정된 경우 containmentMask() 안에 있는지, 그렇지 않으면 바운딩 상자 안에 있는지 확인합니다.

참고: 이 메서드는 이벤트 전달 중 각 QEventPoint 의 히트 테스트에 사용되므로 구현은 가능한 한 가볍게 유지해야 합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

QCursor QQuickItem::cursor() const

이 항목의 커서 모양을 반환합니다.

마우스 커서는 재정의 커서가 설정되어 있지 않은 한 이 항목 위에 있을 때 이 모양을 취합니다. 유용한 다양한 모양은 list of predefined cursor objects 을 참조하세요.

커서 모양이 설정되지 않은 경우 Qt::ArrowCursor 모양의 커서가 반환되지만 겹치는 항목에 유효한 커서가 있는 경우 다른 커서 모양이 표시될 수 있습니다.

setCursor() 및 unsetCursor()도 참조하세요 .

[virtual protected] void QQuickItem::dragEnterEvent(QDragEnterEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 드래그-입력 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

드래그 앤 드롭 이벤트는 이 항목에 ItemAcceptsDrops 플래그가 설정된 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 기능을 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 문의하세요.

Drag드래그 앤 드롭도 참조하세요 .

[virtual protected] void QQuickItem::dragLeaveEvent(QDragLeaveEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 드래그-아웃 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

드래그 앤 드롭 이벤트는 이 항목에 ItemAcceptsDrops 플래그가 설정된 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 문의하세요.

Drag드래그 앤 드롭도 참조하세요 .

[virtual protected] void QQuickItem::dragMoveEvent(QDragMoveEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 드래그 이동 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

드래그 앤 드롭 이벤트는 이 항목에 ItemAcceptsDrops 플래그가 설정된 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 문의하세요.

Drag드래그 앤 드롭도 참조하세요 .

[virtual protected] void QQuickItem::dropEvent(QDropEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 아이템의 드롭 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

드래그 앤 드롭 이벤트는 이 항목에 ItemAcceptsDrops 플래그가 설정된 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 기능을 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 문의하세요.

Drag드래그 앤 드롭도 참조하세요 .

[invokable, since 6.3] void QQuickItem::dumpItemTree() const

이 항목으로 시작하는 항목의 시각적 트리에 대한 일부 세부 정보를 재귀적으로 덤프합니다.

참고: QObject::dumpObjectTree()는 비슷한 트리를 덤프하지만 Qt Quick 의 개념 - 시각적 부모에 설명된 대로 항목의 QObject::parent()는 QQuickItem::parentItem()와 다른 경우가 있습니다. 두 트리를 모두 덤프하여 차이를 확인할 수 있습니다.

참고: 정확한 출력 형식은 향후 Qt 버전에서 변경될 수 있습니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

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

디버깅 기법감마레이의 Qt Quick 인스펙터도참조하십시오 .

[invokable, since 6.3] void QQuickItem::ensurePolished()

updatePolish()를 호출합니다.

이는 폴란드 이벤트를 수신할 때까지 implicitWidthimplicitHeight 계산을 지연시키는 레이아웃(또는 포지셔너)과 같은 항목에 유용할 수 있습니다.

일반적으로 레이아웃에 하위 항목이 추가되거나 제거되는 경우 암시적 크기는 즉시 계산되지 않습니다(이는 최적화입니다). 경우에 따라서는 자식 항목이 추가된 직후 레이아웃의 암시적 크기를 쿼리하는 것이 바람직할 수 있습니다. 이 경우 암시적 크기를 쿼리하기 바로 전에 이 함수를 사용하세요.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

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

updatePolish() 및 polish()도 참조하십시오 .

[override virtual protected] bool QQuickItem::event(QEvent *ev)

다시 구현합니다: QObject::event(QEvent *e).

bool QQuickItem::filtersChildMouseEvents() const

이 항목의 하위 항목을 대상으로 하는 포인터 이벤트를 이 항목을 통해 필터링할지 여부를 반환합니다.

이 항목과 하위 항목 모두 acceptTouchEvents() true 이 있는 경우 터치 상호 작용이 발생하면 이 항목이 터치 이벤트를 필터링합니다. 그러나 이 항목이나 하위 항목이 터치 이벤트를 처리할 수 없는 경우 childMouseEventFilter()는 합성된 마우스 이벤트와 함께 호출됩니다.

setFiltersChildMouseEvents() 및 childMouseEventFilter()도 참조하세요 .

QQuickItem::Flags QQuickItem::flags() const

이 항목의 항목 플래그를 반환합니다.

setFlags() 및 setFlag()도 참조하세요 .

[virtual protected] void QQuickItem::focusInEvent(QFocusEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 포커스인 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

이 함수를 다시 구현하는 경우 기본 클래스 구현을 호출해야 합니다.

[virtual protected] void QQuickItem::focusOutEvent(QFocusEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 포커스 아웃 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[invokable] void QQuickItem::forceActiveFocus()

항목에 활성 포커스를 강제 적용합니다.

이 메서드는 항목에 포커스를 설정하고 객체 계층 구조의 모든 상위 FocusScope 객체에도 focus 을 지정합니다.

포커스 변경 이유는 Qt::OtherFocusReason 입니다. 오버로드된 메서드를 사용하여 포커스 이유를 지정하면 포커스 변경을 더 잘 처리할 수 있습니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

activeFocus참조하세요 .

[invokable] void QQuickItem::forceActiveFocus(Qt::FocusReason reason)

이 함수는 과부하된 함수입니다.

지정된 reason 을 가진 항목에 활성 포커스를 강제 설정합니다.

이 메서드는 항목에 포커스를 설정하고 객체 계층 구조의 모든 상위 FocusScope 객체에도 focus 이 지정되도록 합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

activeFocusQt::FocusReason도 참조하십시오 .

[virtual protected, since 6.0] void QQuickItem::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)

이 함수는 이 항목의 지오메트리가 oldGeometry 에서 newGeometry 로 변경되는 것을 처리하기 위해 호출됩니다. 두 지오메트리가 동일하면 아무 작업도 수행하지 않습니다.

파생 클래스는 구현 내에서 베이스 클래스 메서드를 호출해야 합니다.

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

QSharedPointer<QQuickItemGrabResult> QQuickItem::grabToImage(const QSize &targetSize = QSize())

항목을 인메모리 이미지로 가져옵니다.

가져오기는 비동기적으로 이루어지며 가져오기가 완료되면 QQuickItemGrabResult::ready() 신호가 전송됩니다.

targetSize 을 사용하여 대상 이미지의 크기를 지정합니다. 기본적으로 결과는 항목과 같은 크기입니다.

그랩을 시작할 수 없는 경우 이 함수는 null 을 반환합니다.

참고: 이 함수는 항목을 화면 밖의 표면으로 렌더링하고 해당 표면을 GPU의 메모리에서 CPU의 메모리로 복사하므로 비용이 상당히 많이 들 수 있습니다. "실시간" 미리 보기의 경우 layers 또는 ShaderEffectSource 을 사용합니다.

QQuickWindow::grabWindow()도 참조하세요 .

[protected] bool QQuickItem::heightValid() const

높이 프로퍼티가 명시적으로 설정되었는지 여부를 반환합니다.

[virtual protected] void QQuickItem::hoverEnterEvent(QHoverEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스오버 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

호버 이벤트는 acceptHoverEvents()가 참인 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::hoverLeaveEvent(QHoverEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스오버-탈퇴 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

호버 이벤트는 acceptHoverEvents()가 참인 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::hoverMoveEvent(QHoverEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스오버 이동 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

호버 이벤트는 acceptHoverEvents()가 참인 경우에만 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

qreal QQuickItem::implicitWidth() const

콘텐츠를 결정하는 다른 속성에 의해 암시되는 항목의 너비를 반환합니다.

참고: implicitWidth 속성에 대한 게터 함수입니다.

setImplicitWidth()도 참조하세요 .

[virtual protected] void QQuickItem::inputMethodEvent(QInputMethodEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 입력 메서드 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 재구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual] QVariant QQuickItem::inputMethodQuery(Qt::InputMethodQuery query) const

이 메서드는 입력 항목에만 해당됩니다.

이 항목이 입력 항목인 경우 이 메서드를 다시 구현하여 주어진 query 에 대한 관련 입력 메서드 플래그를 반환해야 합니다.

QWidget::inputMethodQuery()도 참조하세요 .

bool QQuickItem::isAncestorOf(const QQuickItem *child) const

이 항목이 child 의 조상인 경우(즉, 이 항목이 child 의 부모이거나 child 의 부모 조상 중 하나인 경우) true 을 반환합니다.

parentItem()도 참조하세요 .

[protected] bool QQuickItem::isComponentComplete() const

QML 컴포넌트의 구성이 완료되면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.

구성 요소가 완료될 때까지 일부 처리를 지연시키는 것이 바람직한 경우가 많습니다.

componentComplete()도 참조하세요 .

bool QQuickItem::isFocusScope() const

이 항목이 포커스 범위인 경우 참을 반환하고 그렇지 않으면 거짓을 반환합니다.

[virtual] bool QQuickItem::isTextureProvider() const

이 항목이 텍스처 제공자인 경우 true를 반환합니다. 기본 구현은 false를 반환합니다.

이 함수는 모든 스레드에서 호출할 수 있습니다.

[virtual protected] void QQuickItem::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)

이 항목에 대해 change 이 발생할 때 호출됩니다.

value 는 해당되는 경우 변경과 관련된 추가 정보를 포함합니다.

하위 클래스에서 이 메서드를 다시 구현하는 경우, 일반적으로 구현이 끝날 때

QQuickItem::itemChange(change, value);

를 호출하여 windowChanged() 신호가 전송되도록 해야 합니다.

bool QQuickItem::keepMouseGrab() const

마우스 입력을 이 항목에 독점적으로 유지해야 하는지 여부를 반환합니다.

setKeepMouseGrab(), QEvent::accept() 및 QEvent::ignore()도 참조하세요 .

bool QQuickItem::keepTouchGrab() const

이 항목에 의해 잡힌 터치 포인트가 이 항목에 독점적으로 남아 있어야 하는지 여부를 반환합니다.

setKeepTouchGrab(), keepMouseGrab(), QEvent::accept() 및 QEvent::ignore()도 참조하세요 .

[virtual protected] void QQuickItem::keyPressEvent(QKeyEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 키 누르기 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::keyReleaseEvent(QKeyEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 아이템의 키 릴리스 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[invokable] QPointF QQuickItem::mapFromGlobal(const QPointF &point) const

전역 화면 좌표계에서 지정된 point 을 이 항목의 좌표계 내의 해당 지점에 매핑하고 매핑된 좌표를 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 서로 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

예를 들어 Qt Quick 컴포넌트에 팝업을 추가할 때 유용할 수 있습니다.

참고: 창 위치 지정은 창 관리자가 수행하며 이 값은 힌트로만 취급됩니다. 따라서 결과 창 위치가 예상과 다를 수 있습니다.

참고: 이 항목이 3D Model 개체에 매핑된 서브씬에 있는 경우, point 이 실제로 이 항목의 범위 내에 있는 한, UV 매핑이 이 변환에 통합되어 실제로 화면 좌표에서 이 항목의 좌표로 이동합니다. 다른 매핑 함수는 아직 이러한 방식으로 작동하지 않습니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

Qt Quick 에서 개념 - 시각적 좌표를참조하세요 .

[invokable] QPointF QQuickItem::mapFromItem(const QQuickItem *item, const QPointF &point) const

item 좌표계에서 주어진 point 을 이 항목의 좌표계 내 등가 지점으로 매핑하고 매핑된 좌표를 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

itemnullptr 인 경우 장면의 좌표계에서 point 을 매핑합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

Qt Quick 에서 개념 - 시각적 좌표를참조하십시오 .

QPointF QQuickItem::mapFromScene(const QPointF &point) const

씬의 좌표계에서 지정된 point 을 이 항목의 좌표계 내의 해당 지점에 매핑하고 매핑된 좌표를 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

Qt Quick 의 개념 - 시각적 좌표를참조하세요 .

QRectF QQuickItem::mapRectFromItem(const QQuickItem *item, const QRectF &rect) const

item 좌표계에서 주어진 rect 을 이 항목의 좌표계 내의 등가 직사각형 영역에 매핑하고 매핑된 직사각형 값을 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

itemnullptr 인 경우 장면의 좌표계에서 rect 을 매핑합니다.

Qt Quick 의 개념 - 시각적 좌표를참조하세요 .

QRectF QQuickItem::mapRectFromScene(const QRectF &rect) const

씬의 좌표계에서 지정된 rect 을 이 항목의 좌표계 내의 등가 직사각형 영역에 매핑하고 매핑된 직사각형 값을 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

Qt Quick 의 개념 - 시각적 좌표를참조하세요 .

QRectF QQuickItem::mapRectToItem(const QQuickItem *item, const QRectF &rect) const

이 항목의 좌표계에서 지정된 rectitem 의 좌표계 내의 등가 직사각형 영역에 매핑하고 매핑된 직사각형 값을 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, transform.

항목이 서로 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

itemnullptr 인 경우 rect 을 장면의 좌표계에 매핑합니다.

Qt Quick 의 개념 - 시각적 좌표를참조하세요 .

QRectF QQuickItem::mapRectToScene(const QRectF &rect) const

이 항목의 좌표계에서 지정된 rect 을 장면의 좌표계 내의 등가 직사각형 영역에 매핑하고 매핑된 직사각형 값을 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

Qt Quick 의 개념 - 시각적 좌표를참조하세요 .

[invokable] QPointF QQuickItem::mapToGlobal(const QPointF &point) const

이 항목의 좌표계에서 지정된 point 을 전역 화면 좌표계 내의 등가 지점에 매핑하고 매핑된 좌표를 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

예를 들어 Qt Quick 컴포넌트에 팝업을 추가할 때 유용할 수 있습니다.

참고: 창 위치 지정은 창 관리자가 수행하며 이 값은 힌트로만 취급됩니다. 따라서 결과 창 위치가 예상과 다를 수 있습니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

Qt Quick 에서 개념 - 시각적 좌표를참조하세요 .

[invokable] QPointF QQuickItem::mapToItem(const QQuickItem *item, const QPointF &point) const

이 항목의 좌표계에서 지정된 pointitem 의 좌표계 내의 해당 지점에 매핑하고 매핑된 좌표를 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

itemnullptr 인 경우 point 를 씬의 좌표계에 매핑합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

Qt Quick 에서 개념 - 시각적 좌표를참조하십시오 .

QPointF QQuickItem::mapToScene(const QPointF &point) const

이 항목의 좌표계에서 지정된 point 을 장면의 좌표계 내 등가 지점에 매핑하고 매핑된 좌표를 반환합니다.

매핑에 사용되는 항목의 속성은 다음과 같습니다: x, y, scale, rotation, transformOrigin, 및 transform.

항목이 다른 장면의 일부인 경우 매핑에는 두 장면의 상대적 위치가 포함됩니다.

Qt Quick 의 개념 - 시각적 좌표를참조하세요 .

[virtual protected] void QQuickItem::mouseDoubleClickEvent(QMouseEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스 더블 클릭 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::mouseMoveEvent(QMouseEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스 이동 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

마우스 이동 이벤트를 수신하려면 mousePressEvent()를 재정의하여 앞의 마우스 누르기 이벤트를 수락해야 하며 acceptedMouseButtons()는 관련 마우스 버튼을 반환해야 합니다.

이벤트는 기본적으로 수락되므로 이 기능을 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::mousePressEvent(QMouseEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스 누름 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

마우스 누름 이벤트를 수신하려면 acceptedMouseButtons()가 관련 마우스 버튼을 반환해야 합니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::mouseReleaseEvent(QMouseEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 마우스 릴리스 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

마우스 릴리스 이벤트를 수신하려면 mousePressEvent()를 재정의하여 앞의 마우스 누르기 이벤트를 수락해야 하며 acceptedMouseButtons()는 관련 마우스 버튼을 반환해야 합니다.

이벤트는 기본적으로 수락되므로 이 기능을 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::mouseUngrabEvent()

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 이 항목에서 마우스 잡기 해제 이벤트가 발생했을 때 알림을 받을 수 있습니다.

[invokable] QQuickItem *QQuickItem::nextItemInFocusChain(bool forward = true)

포커스 체인에서 이 항목 옆에 있는 항목을 반환합니다. forwardtrue 이거나 제공되지 않으면 정방향의 다음 항목이 됩니다. forwardfalse 인 경우 역방향의 다음 항목이 됩니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

void QQuickItem::polish()

이 항목에 대한 폴리시 이벤트를 예약합니다.

씬 그래프가 요청을 처리하면 이 항목에 대해 updatePolish()를 호출합니다.

updatePolish(), QQuickTest::qIsPolishScheduled() 및 ensurePolished()도 참조하세요 .

[virtual protected] void QQuickItem::releaseResources()

이 함수는 QQuickItem::updatePaintNode()에서 반환된 노드에서 아직 관리하지 않는 그래픽 리소스를 항목이 해제해야 할 때 호출됩니다.

이는 항목이 이전에 렌더링되던 창에서 제거되려고 할 때 발생합니다. 함수가 호출될 때 항목은 window 을 갖도록 보장됩니다.

이 함수는 GUI 스레드에서 호출되며 렌더링 스레드의 상태는 사용 시 알 수 없습니다. 개체는 직접 삭제하지 말고 QQuickWindow::scheduleRenderJob()를 사용하여 정리하도록 예약해야 합니다.

Graphics Resource Handling참조하세요 .

QQuickItem *QQuickItem::scopedFocusItem() const

이 항목이 포커스 범위인 경우 현재 포커스가 있는 포커스 체인에 있는 항목을 반환합니다.

이 항목이 포커스 범위가 아닌 경우 nullptr 을 반환합니다.

void QQuickItem::setAcceptHoverEvents(bool enabled)

enabled 이 참이면 항목이 마우스오버 이벤트를 허용하도록 설정하고, 그렇지 않으면 이 항목에서 마우스오버 이벤트를 허용하지 않습니다.

acceptHoverEvents()도 참조하세요 .

void QQuickItem::setAcceptTouchEvents(bool enabled)

enabled 이 참이면 항목이 터치 이벤트를 허용하도록 설정하고, 그렇지 않으면 이 항목에서 터치 이벤트를 허용하지 않습니다.

acceptTouchEvents()도 참조하세요 .

void QQuickItem::setAcceptedMouseButtons(Qt::MouseButtons buttons)

이 항목이 수락하는 마우스 버튼을 buttons 로 설정합니다.

참고: Qt 5에서는 setAcceptedMouseButtons()를 호출하면 암시적으로 항목이 마우스 이벤트뿐만 아니라 터치 이벤트도 수신하도록 했지만, setAcceptTouchEvents()를 호출하여 구독할 것을 권장했습니다. Qt 6에서는 계속 수신하려면 setAcceptTouchEvents()를 호출해야 합니다.

acceptedMouseButtons()도 참조하세요 .

void QQuickItem::setCursor(const QCursor &cursor)

이 항목의 cursor 모양을 설정합니다.

cursor() 및 unsetCursor()도 참조하세요 .

void QQuickItem::setFiltersChildMouseEvents(bool filter)

이 항목의 하위 항목을 대상으로 하는 포인터 이벤트를 이 항목을 통해 필터링할지 여부를 설정합니다.

filter 이 참이면 하위 항목에 대한 포인터 이벤트가 트리거될 때 childMouseEventFilter()가 호출됩니다.

filtersChildMouseEvents()도 참조하세요 .

void QQuickItem::setFlag(QQuickItem::Flag flag, bool enabled = true)

enabled 이 참이면 이 항목에 대해 지정된 flag 을 활성화하고 enabled 이 거짓이면 플래그가 비활성화됩니다.

예를 들어 ItemClipsChildrenToShape 플래그는 이 항목의 모든 하위 항목을 항목 영역에 맞게 잘라내야 함을 나타냅니다.

void QQuickItem::setFlags(QQuickItem::Flags flags)

이 항목에 대해 지정된 flags 을 활성화합니다.

flags() 및 setFlag()도 참조하세요 .

void QQuickItem::setFocusPolicy(Qt::FocusPolicy policy)

이 항목의 포커스 정책을 policy 로 설정합니다.

참고: 속성에 대한 설정자 함수 focusPolicy.

focusPolicy()도 참조하세요 .

void QQuickItem::setKeepMouseGrab(bool keep)

마우스 입력을 이 항목에만 유지할지 여부를 설정합니다.

이 설정은 미리 정의된 제스처에 따라 마우스 상호작용을 잡아 유지하려는 항목에 유용합니다. 예를 들어, 가로 마우스 이동에 관심이 있는 항목은 임계값이 초과되면 keepMouseGrab 을 true로 설정할 수 있습니다. keepMouseGrab 이 참으로 설정되면 필터링 항목은 마우스 이벤트에 반응하지 않습니다.

keep 이 거짓인 경우 필터링 항목이 그랩을 훔칠 수 있습니다. 예를 들어 Flickable 은 사용자가 뷰포트를 움직이기 시작한 것을 감지하면 마우스 그랩을 훔치려고 시도할 수 있습니다.

keepMouseGrab()도 참조하세요 .

void QQuickItem::setKeepTouchGrab(bool keep)

이 항목에 잡힌 터치 포인트를 이 항목에만 유지할지 여부를 설정합니다.

미리 정의된 제스처에 따라 특정 터치 포인트를 잡고 유지하려는 항목에 유용합니다. 예를 들어, 수평 터치 포인트 이동에 관심이 있는 항목은 임계값이 초과되면 setKeepTouchGrab을 true로 설정할 수 있습니다. setKeepTouchGrab이 true로 설정되면 필터링 항목은 관련 터치 포인트에 반응하지 않습니다.

keep 이 거짓인 경우 필터링 항목이 그랩을 훔칠 수 있습니다. 예를 들어 Flickable 은 사용자가 뷰포트를 움직이기 시작한 것을 감지하면 터치 포인트 그랩을 훔치려고 시도할 수 있습니다.

keepTouchGrab() 및 setKeepMouseGrab()도 참조하세요 .

void QQuickItem::setSize(const QSizeF &size)

항목의 크기를 size 로 설정합니다. 이 메서드는 너비와 높이에 대한 기존 바인딩을 유지하므로 바인딩을 다시 실행하도록 트리거하는 모든 변경 사항이 설정된 값을 재정의합니다.

size, setWidth, setHeight참조하세요 .

QSizeF QQuickItem::size() const

항목의 크기를 반환합니다.

setSize, width, height도 참조하세요 .

void QQuickItem::stackAfter(const QQuickItem *sibling)

지정된 sibling 항목을 하위 목록에서 이 항목 뒤의 인덱스로 이동합니다. 하위 항목의 순서는 시각적 스택 순서와 탭 포커스 탐색 순서 모두에 영향을 줍니다.

두 항목의 z 값이 동일하다고 가정하면 sibling 이 이 항목 아래에 렌더링됩니다.

두 항목 모두 activeFocusOnTabtrue 로 설정되어 있는 경우 탭 포커스 순서도 변경되어 sibling 가 이 항목보다 먼저 포커스를 받게 됩니다.

지정된 sibling 은 이 항목의 형제 항목이어야 합니다. 즉, 동일한 바로 아래 parent 을 가져야 합니다.

Qt Quick 의 개념 - 시각적 부모를참조하세요 .

void QQuickItem::stackBefore(const QQuickItem *sibling)

지정된 sibling 항목을 하위 목록에서 이 항목 앞의 색인으로 이동합니다. 하위 항목의 순서는 시각적 스택 순서와 탭 포커스 탐색 순서 모두에 영향을 줍니다.

두 항목의 z 값이 동일하다고 가정하면 sibling 이 이 항목 위에 렌더링됩니다.

두 항목 모두 activeFocusOnTabtrue 로 설정되어 있는 경우 탭 포커스 순서도 변경되어 sibling 가 이 항목 다음에 포커스를 받게 됩니다.

지정된 sibling 은 이 항목의 형제 항목이어야 합니다. 즉, 동일한 바로 아래 parent 을 가져야 합니다.

Qt Quick 의 개념 - 시각적 부모를참조하세요 .

[virtual] QSGTextureProvider *QQuickItem::textureProvider() const

항목의 텍스처 공급자를 반환합니다. 기본 구현은 nullptr 를 반환합니다.

이 함수는 렌더링 스레드에서만 호출할 수 있습니다.

[virtual protected] void QQuickItem::touchEvent(QTouchEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 항목에 대한 터치 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요가 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[virtual protected] void QQuickItem::touchUngrabEvent()

이 이벤트 핸들러를 하위 클래스에서 다시 구현하여 이 항목에서 터치 잡기 해제 이벤트가 발생했을 때 알림을 받을 수 있습니다.

void QQuickItem::unsetCursor()

이 항목의 커서 모양을 지웁니다.

cursor() 및 setCursor()도 참조하세요 .

[slot] void QQuickItem::update()

이 항목에 대해 updatePaintNode()로의 호출을 예약합니다.

QQuickItem::updatePaintNode() 호출은 항목이 QQuickWindow 에 표시되는 경우 항상 수행됩니다.

QQuickItem::ItemHasContents 을 지정하는 항목만 QQuickItem::update()를 호출할 수 있습니다.

[protected] void QQuickItem::updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput)

필요한 경우 업데이트된 쿼리 값에 대한 입력 방법을 알립니다. queries 은 변경된 속성을 나타냅니다.

[virtual protected] QSGNode *QQuickItem::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)

항목의 상태를 씬 그래프와 동기화할 때가 되면 렌더 스레드에서 호출됩니다.

이 함수는 사용자가 항목에 QQuickItem::ItemHasContents 플래그를 설정한 경우 QQuickItem::update()의 결과로 호출됩니다.

이 함수는 이 항목에 대한 씬 그래프 하위 트리의 루트를 반환해야 합니다. 대부분의 구현은 이 항목의 시각적 표현을 포함하는 단일 QSGGeometryNode 을 반환합니다. oldNode 은 마지막으로 함수를 호출했을 때 반환된 노드입니다. updatePaintNodeData 은 이 QQuickItem 과 연결된 QSGTransformNode 에 대한 포인터를 제공합니다.

QSGNode *MyItem::updatePaintNode(QSGNode *node, UpdatePaintNodeData *)
{
    QSGSimpleRectNode *n = static_cast<QSGSimpleRectNode *>(node);
    if (!n) {
        n = new QSGSimpleRectNode();
        n->setColor(Qt::red);
    }
    n->setRect(boundingRect());
    return n;
}

이 함수가 실행되는 동안 메인 스레드는 차단되므로 메인 스레드에서 QQuickItem 인스턴스 및 기타 객체의 값을 읽는 것이 안전합니다.

QSGNode::markDirty() 또는 노드 추가 및 제거와 같은 실제 씬 그래프 변경이 발생하지 않는 경우, 기본 구현은 시각적 결과가 동일하므로 씬을 다시 렌더링하지 않기로 결정할 수 있습니다.

경고: 그래픽 작업과 씬 그래프와의 상호 작용은 주로 QQuickItem::updatePaintNode() 호출 중에 렌더 스레드에서만 발생하는 것이 중요합니다. 가장 좋은 방법은 QQuickItem::updatePaintNode() 함수 내에서 접두사가 "QSG"인 클래스만 사용하는 것입니다.

경고: 이 함수는 렌더 스레드에서 호출됩니다. 즉, 생성되는 모든 QObject 또는 스레드 로컬 저장소는 렌더 스레드에 친화성을 가지므로 이 함수에서 렌더링 이외의 작업을 수행할 때는 주의해야 합니다. 신호의 경우에도 마찬가지로 렌더 스레드에서 방출되므로 대기열 연결을 통해 전달되는 경우가 많습니다.

참고: 접두사가 QSG인 모든 클래스는 씬 그래프의 렌더링 스레드에서만 사용해야 합니다. 자세한 내용은 씬 그래프 및 렌더링을 참조하십시오.

QSGMaterial, QSGGeometryNode, QSGGeometry, QSGFlatColorMaterial, QSGTextureMaterial, QSGNode::markDirty() 및 Graphics Resource Handling참조하세요 .

[virtual protected] void QQuickItem::updatePolish()

이 함수는 이 항목에 필요한 모든 레이아웃을 수행해야 합니다.

polish()가 호출되면 씬 그래프는 이 항목에 대한 폴리시 이벤트를 예약합니다. 씬 그래프가 이 항목을 렌더링할 준비가 되면 업데이트폴리시()를 호출하여 다음 프레임을 렌더링하기 전에 필요에 따라 모든 항목 레이아웃을 수행합니다.

ensurePolished()도 참조하세요 .

QQuickItem *QQuickItem::viewportItem() const

ItemObservesViewport 플래그가 설정된 경우 ItemIsViewport 플래그가 있는 가장 가까운 부모를 반환합니다. 플래그가 설정되지 않았거나 다른 뷰포트 항목을 찾을 수 없는 경우 창의 contentItem을 반환합니다.

뷰포트 항목이 없고 이 항목이 창에 표시되지 않는 경우에만 nullptr 을 반환합니다.

clipRect()도 참조하세요 .

[virtual protected] void QQuickItem::wheelEvent(QWheelEvent *event)

이 이벤트 핸들러는 하위 클래스에서 다시 구현하여 아이템에 대한 휠 이벤트를 수신할 수 있습니다. 이벤트 정보는 event 매개변수에 의해 제공됩니다.

이벤트는 기본적으로 수락되므로 이 함수를 다시 구현하는 경우 이벤트를 명시적으로 수락할 필요는 없습니다. 이벤트를 수락하지 않으려면 event->ignore() 으로 전화하세요.

[protected] bool QQuickItem::widthValid() const

너비 속성이 명시적으로 설정되었는지 여부를 반환합니다.

QQuickWindow *QQuickItem::window() const

이 항목이 렌더링되는 창을 반환합니다.

항목은 씬에 할당될 때까지 창이 없습니다. windowChanged () 신호는 항목이 씬에 입력될 때와 씬에서 제거될 때 모두 알림을 제공합니다.

[signal] void QQuickItem::windowChanged(QQuickWindow *window)

이 신호는 항목의 window 이 변경될 때 전송됩니다.

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