前言:看来很久的qml,一直在想为什么要学qml(脑子里有个模糊的概念,qml可以做渲染,做界面更简单)。直到看见
一、cpp代码需要设置的点
- 定义可以导出的c++类
条件:从QOBJEC 或者 它的派生类继承,使用Q_OBJECT宏
- 2、定义类的成员函数时 需要用Q_INVOKABLE(译:可调用的) 宏来修饰;并且这个宏必须放在返回类型前面。eg:
//定义了《可调用的》两个函数
Q_INVOKABLE GenerateAlgorithm algorithm() const;
//返回值为GenerateAlgorithm的一个函数
Q_INVOKABLE void setAlgorithm(GenerateAlgorithm algorithm);
3、
Q_INVOKABLE 能够调用不能修改,Q_PROPERTY 能够改变值和发送信号等
二、qml设置的点
1、注册qml类型
https://doc.qt.io/qt-5.12/qqmlengine.html#qmlRegisterType
qmlRegisterType<ColorMaker>("an.qt.ColorMaker", 1, 0, "ColorMaker");
//调用的对象 名称 版本(主) 版本(副) 对象
函数原型(int qmlRegisterType (const char *uri, int versi onMajor,int versionMinor, const char *qmlName) ;)
下面就可以引用了
代码详见附录 //download.csdn.net/download/a1ngel/12265044 随便下