Q_INVOKABLE在QML中的使用
前言
由于我对QML了解不是太多,一位大佬的文章已经说的明明白白了,大家可以借鉴下。
正文如下
1、写一个C++方法
class A: public B
{
Q_OBJECT
public:
A(QQuickItem *parent = 0);
~A();
Q_INVOKABLE void init(); //注意这里我们用到了Q_INVOKABLE这个宏
}
2、注册这个类
注意:qmlRegisterType<>("包名【保证路径唯一】" ,主版本号, 次版本号," 类名 【大写】")
qmlRegisterType<A>("A", 1, 0, "A");
3、QML中调用
import QtQuick 2.5
// 与步骤2中的类名一致,别忘了版本号
import A1.0
Rectangle {
color: "transparent"
property alias painter: painter
Component.onCompleted: {
painter.penColor = "red"
painter.init()
}
A{
id: painter;
onWidthChanged: {
painter.init()
}
}
}
原文地址(转载)
https://blog.csdn.net/u014597198/article/details/52415973
版权声明:
作者:小何
链接:https://ligo100.cn/houduanjishu/qt/96.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。

共有 0 条评论