QCanvasPainterItem Class
QCanvasPainterItem 클래스는 QML 씬 그래프에서 Qt 캔버스 페인터 API를 사용할 수 있는 방법을 제공합니다. 더 보기...
| 헤더: | #include <QCanvasPainterItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| 이후 | Qt 6.11 |
| 상속합니다: | QQuickRhiItem |
| Status: | 기술 미리보기 |
속성
공공 기능
| QCanvasPainterItem(QQuickItem *parent = nullptr) | |
| virtual | ~QCanvasPainterItem() override |
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
신호
| void | debugChanged() |
| void | fillColorChanged() |
보호된 함수
| virtual QCanvasPainterItemRenderer * | createItemRenderer() const = 0 |
재구현된 보호 함수
| virtual QQuickRhiItemRenderer * | createRenderer() override |
상세 설명
자신만의 페인팅 아이템을 작성하려면 먼저 QCanvasPainterItem의 서브클래스를 생성한 다음, 실제 페인팅을 수행하는 객체를 반환하는 유일한 순수 가상 공용 함수인 createItemRenderer()를 구현하는 것으로 시작하면 됩니다.
아래 코드 스니펫은 QCanvasPainterItem 서브클래스의 일반적인 구조를 보여줍니다. MyRenderer 클래스의 예는 QCanvasPainterItemRenderer 을 참조하세요.
class MyItem : public QCanvasPainterItem { Q_OBJECT QML_NAMED_ELEMENT(MyItem) // exposed to QML, instantiate as MyItem { ... } // a custom property Q_PROPERTY(float value READ value WRITE setValue NOTIFY valueChanged) public: HelloItem(QQuickItem *parent = nullptr) : QCanvasPainterItem(parent) { } QCanvasPainterItemRenderer *createItemRenderer() const override { return new MyRenderer; } float value() const { return m_value; } void setValue(float newValue) { if (m_value != newValue) { m_value = newValue; emit valueChanged(); } } float m_value = 0.0f; };
QCanvasPainterItemRenderer도 참조하세요 .
속성 문서
[read-only] debug : QVariantMap
렌더링 통계의 키-값 맵을 포함합니다. 데이터는 환경 변수 QCPAINTER_DEBUG_COLLECT 가 0이 아닌 값으로 설정된 경우에만 수집됩니다.
데이터는 항목이 다시 칠할 때마다 업데이트되는 것이 아니라 주기적으로 업데이트됩니다. 현재 간격은 1초입니다. 따라서 수신된 데이터는 대부분의 경우 항목의 이전 그리기를 참조합니다. 이는 일반적으로 통계를 대화형으로 표시할 때 문제가 되지 않지만 주의해야 할 사항입니다.
항목 내의 데이터를 오버레이 형태로 자동으로 표시하려면 대신 환경 변수 QCPAINTER_DEBUG_RENDER 를 설정하세요. 이렇게 하면 화면에 값을 표시하려는 의도가 있을 때 편리한 바로 가기를 제공합니다.
현재 사용 가능한 키 목록은 다음과 같습니다:
- fillDrawCallCount
- strokeDrawCallCount
- textDrawCallCount
- fillTriangleCount
- 스트로크 트라이앵글 카운트
- textTriangleCount
- drawCallCount
- triangleCount
알림 신호입니다:
| void | debugChanged() |
fillColor : QColor
이 속성에는 항목을 채우는 데 사용할 색상, 즉 항목 배경이 저장됩니다.
기본 색상은 검은색입니다.
기능에 액세스합니다:
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
알림 신호:
| void | fillColorChanged() |
멤버 함수 문서
QCanvasPainterItem::QCanvasPainterItem(QQuickItem *parent = nullptr)
주어진 parent 아이템으로 QCanvasPainterItem을 생성합니다.
[override virtual noexcept] QCanvasPainterItem::~QCanvasPainterItem()
QCanvasPainterItem 를 파괴합니다.
[pure virtual protected] QCanvasPainterItemRenderer *QCanvasPainterItem::createItemRenderer() const
이 메서드를 구현하여 이 항목에 대한 페인터를 (재)생성합니다. 페인터 클래스는 QCanvasPainterItemRenderer 에서 상속되어야 합니다. QCanvasPainterItem 은 생성된 객체의 소유권을 가져와 필요할 때 삭제합니다.
예제 코드
QCanvasPainterItemRenderer* MyItem::createItemRenderer() const { return new MyItemPainter(); }
[override virtual protected] QQuickRhiItemRenderer *QCanvasPainterItem::createRenderer()
다시 구현합니다: QQuickRhiItem::createRenderer().
QColor QCanvasPainterItem::fillColor() const
현재 채우기 색을 반환합니다.
참고: fillColor 속성에 대한 게터 함수입니다.
setFillColor()도 참조하세요 .
void QCanvasPainterItem::setFillColor(const QColor &color)
채우기 색상을 color 으로 설정합니다. 이 색상은 항목의 배경을 그리는 데 사용됩니다. 기본 색상은 검은색입니다.
참고: 채우기 색상을 완전히 불투명하지 않게 설정하는 경우(알파 채널이 255 미만) alphaBlending 도 true 으로 설정해야 합니다.
참고: 속성의 세터 함수 fillColor.
fillColor() 및 QQuickRhiItem::alphaBlending 을참조하세요 .
© 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.