演示如何使用Qt框架实现基于 QPainter的自定义场景图项。
"绘制项"示例演示如何使用 QML 场景图框架使用QPainter 实现自定义场景图项。
QQuickPaintedItem类是从QQuickItem 派生的类,用于使用 QPainter 接口实现自定义 QML 场景图形项。
该示例包括项目类、插件类和 QML 文件,以使用此插件。该类表示扩展QQuickPaintedItem的单个文本气球,该类表示Qt Quick插件的骨架代码,文件用于加载插件并显示文本气球。TextBalloonTextBalloonPlugintextballoons.qml
我们将重点介绍类第一,并继续文件。有关如何实现Qt快速插件的示例,请查看编写扩展插件TextBalloontextballoons.qml
文本气球类声明
该类继承自QQuickPaintedItem。QQuickPaintedItem是QML 场景图框架中所有基于 QPainter 项的基类。TextBalloon
class TextBalloon : public QQuickPaintedItem{Q_OBJECTQ_PROPERTY(bool rightAligned READ isRightAligned WRITE setRightAligned NOTIFY rightAlignedChanged)QML_ELEMENTpublic:TextBalloon(QQuickItem *parent = 0);void paint(QPainter *painter);bool isRightAligned();void setRightAligned(bool rightAligned);private:bool