QML组件注册单例的方法

QML组件注册单例的方法

一、将一个QML组件声明为单例,如

//MyStyleObject.qml
pragma Singleton  //注意这里
import QtQuick 2.0

Item {
    readonly property string  strText: qsTr("这是一个qml单例")
    readonly property int     fontPointSize: 16
}

二、注册组件
现在你有两种选择
1、在C++中注册组件
要在你的C ++代码的某个地方通过C ++注册单例,你需要调qmlRegisterSingletonType(),如:

    qmlRegisterSingletonType( QUrl("qrc:/MyStyleObject.qml"),
                              "ca.mystyle",
                              1, 0,
                              "MyStyle" );

2、Alternatively,使用qmldir文件
将名为qmldir的文件添加到MyStyleObject.qml文件所在的目录,并添加进工程。
qmldir的文件内容如下:

singleton MyStyle MyStyleObject.qml

在这里插入图片描述

三、使用
如果你注册组件是通过使用qmldir文件方式,使用方法如下:(直接用)

    Text {
        id: textTemp
        text: MyStyle.fontPointSize
    }

Otherwise,
先导入再使用,如:

import ca.mystyle 1.0
    Text {
        id: textTemp
        text: MyStyle.fontPointSize
    }

参考文章:https://yq.aliyun.com/articles/669778

发布了32 篇原创文章 · 获赞 4 · 访问量 3423

猜你喜欢

转载自blog.csdn.net/qq_35241071/article/details/100987371