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
来源:小何博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录