QCanvasPainterItem Class
La clase QCanvasPainterItem proporciona una forma de utilizar la API Qt Canvas Painter en el gráfico de escena QML. Más...
| Cabecera: | #include <QCanvasPainterItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| Desde: | Qt 6.11 |
| Hereda de: | QQuickRhiItem |
| Estado: | Technical Preview |
Propiedades
Funciones públicas
| QCanvasPainterItem(QQuickItem *parent = nullptr) | |
| virtual | ~QCanvasPainterItem() override |
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
Señales
| void | debugChanged() |
| void | fillColorChanged() |
Funciones protegidas
| virtual QCanvasPainterItemRenderer * | createItemRenderer() const = 0 |
Funciones protegidas reimplementadas
| virtual QQuickRhiItemRenderer * | createRenderer() override |
Descripción Detallada
Para escribir tu propio item pintado, primero debes crear una subclase de QCanvasPainterItem, y luego comenzar implementando su única función pública virtual pura: createItemRenderer(), que devuelve un objeto que realiza la pintura.
El siguiente fragmento de código muestra la estructura típica de una subclase QCanvasPainterItem. Ver QCanvasPainterItemRenderer para un ejemplo de la clase MyRenderer.
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; };
Ver también QCanvasPainterItemRenderer.
Documentación de Propiedades
[read-only] debug : QVariantMap
Contiene un mapa clave-valor de estadísticas de renderizado. Los datos sólo se recogen cuando la variable de entorno QCPAINTER_DEBUG_COLLECT tiene un valor distinto de cero.
Los datos se actualizan periódicamente, no cada vez que se repinta el elemento. El intervalo es actualmente de un segundo. Por lo tanto, los datos recibidos se referirán en muchos casos a un dibujo anterior del elemento. Esto no suele ser un problema cuando se muestran las estadísticas de forma interactiva, pero es importante tenerlo en cuenta.
Para mostrar automáticamente los datos dentro del elemento en forma de superposición, establezca en su lugar la variable de entorno QCPAINTER_DEBUG_RENDER. Esto proporciona un atajo conveniente cuando la intención es de todos modos mostrar los valores en pantalla.
La lista de teclas es actualmente la siguiente
- fillDrawCallCount
- strokeDrawCallCount
- textDrawCallCount
- fillTriangleCount
- strokeTriangleCount
- textTriangleCount
- drawCallCount
- triangleCount
Señal del notificador:
| void | debugChanged() |
fillColor : QColor
Esta propiedad contiene el color a utilizar para rellenar el elemento, es decir, el fondo del elemento.
El color por defecto es el negro.
Funciones de acceso:
| QColor | fillColor() const |
| void | setFillColor(const QColor &color) |
Señal del notificador:
| void | fillColorChanged() |
Documentación de funciones miembro
QCanvasPainterItem::QCanvasPainterItem(QQuickItem *parent = nullptr)
Construye un QCanvasPainterItem con el item parent dado.
[override virtual noexcept] QCanvasPainterItem::~QCanvasPainterItem()
Destruye el QCanvasPainterItem.
[pure virtual protected] QCanvasPainterItemRenderer *QCanvasPainterItem::createItemRenderer() const
Implementa este método para (re)crear un pintor para este elemento. La clase del pintor debe heredarse de QCanvasPainterItemRenderer. QCanvasPainterItem toma la propiedad del objeto creado y lo borra cuando es necesario.
Código de ejemplo:
QCanvasPainterItemRenderer* MyItem::createItemRenderer() const { return new MyItemPainter(); }
[override virtual protected] QQuickRhiItemRenderer *QCanvasPainterItem::createRenderer()
Reimplementa: QQuickRhiItem::createRenderer().
QColor QCanvasPainterItem::fillColor() const
Devuelve el color de relleno actual.
Nota: Función Getter para la propiedad fillColor.
Véase también setFillColor().
void QCanvasPainterItem::setFillColor(const QColor &color)
Establezca el color de relleno en color. Este color se utilizará para dibujar el fondo del elemento. El color por defecto es el negro.
Nota: Si el color de relleno no es totalmente opaco (canal alfa inferior a 255), recuerde establecer también alphaBlending a true.
Nota: Función Setter para la propiedad fillColor.
Ver también fillColor() y 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.