举个例子来陈述这个问题:
1、写一个C++方法
class A: public B
{
Q_OBJECT
public:
A(QQuickItem *parent = 0);
~A();
Q_INVOKABLE void init(); //注意这里我们用到了Q_INVOKABLE这个宏
}
2、注册这个类
qmlRegisterType<A>("A", 1, 0, "A");
3、QML中调用
import QtQuick 2.5
import A1.0
Rectangle {
color: "transparent"
property alias painter: painter
Component.onCompleted: {
painter.penColor = "red"
painter.init()
}
A{
id: painter;
onWidthChanged: {
painter.init()
}
}
}