Q_INVOKABLE在QML中的使用

前言 由于我对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

 

版权声明
文章标题:Q_INVOKABLE在QML中的使用
文章链接:https://blog.chiyuba.com/houduanjishu/qt/96.html
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,转载或引用请注明出处。
温馨提示:本文最后更新于 2021年6月12日,部分内容可能存在时效性,请注意甄别。

相关推荐

更多教程
QT5 获取窗口大小尺寸信息 Qt QT5 获取窗口大小尺寸信息

获取方法 代码 qDebug() &lt...

23 浏览
QML应⽤动画(Applying Animations)分类 Qt QML应⽤动画(Applying Animations)分类

QML动画应用分类 属性动画 - 在元素...

20 浏览
qml几种加载方式的区别 Qt qml几种加载方式的区别

前言   1、QQmlAppl...

22 浏览

评论