[QML开发笔记]-QML扩展插件二(C++绘制控件库)

这篇博客介绍了如何使用C++绘制控件并创建库,以便在QML中使用。通过这种方法,可以实现在QML中集成自定义的QWidget自绘制控件,比如AnalogClock,并生成相应的动态库文件CppControlPlugind.dll。
摘要由CSDN通过智能技术生成
[QML开发笔记]-QML扩展插件二(C++绘制控件库)

QML扩展控件方法:通过c++绘制控件并生成库供QML使用。实现QML集成QWidget自绘制控件生成的库。

效果:
在这里插入图片描述
代码:

AnalogClock.h

#ifndef ANALOGCLOCK_H
#define ANALOGCLOCK_H
/**
* @FileName      AnalogClock.h
* @brief         File Description
* @author        Kongdemin
* @date          2020-05
*/
#include <QQuickItem>
#include <QQuickPaintedItem>

class AnalogClock : public QQuickPaintedItem
{
    Q_OBJECT
    Q_PROPERTY(QColor hourColor READ hourColor WRITE setHourColor NOTIFY hourColorChanged)
    Q_PROPERTY(QColor minuteColor READ minuteColor WRITE setMinuteColor NOTIFY minuteColorChanged)
    Q_PROPERTY(QColor secColor READ secColor WRITE setSecColor NOTIFY secColorChanged)
    Q_PROPERTY(QColor bgColor READ bgColor WRITE setBgColor NOTIFY bgColorChanged)

public:
    AnalogClock(QQuickItem *parent = nullptr);

    QColor hourColor() const { return m_hourColor; }
    QColor minuteColor() const { return m_minuteColor; }
    QColor secColor() const { return m_secColor; }
    QColor bgColor() const { return m_bgColor; }

signals:
    void hourColorChanged(QColor hourColor);
    void minuteColorChanged(QColor minuteColor);
    void secColorChanged(QColor secColor);
    void bgColorChanged(QColor b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值