QT中qmlRegisterTypeqmlRegisterSingletonType的区别

更新时间:2023-05-11 02:55:26 阅读: 评论:0

QT中qmlRegisterTypeqmlRegisterSingletonType的区别qmlRegisterType qmlRegisterSingletonType
了解设计模式的肯定知道单根模式,这个qmlRegisterSingletonType函数意思能就是注册⼀个单根类型到QML中,看看他们的完整声明:int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName, QJSValue(* ) ( QQmlEngine *, QJSEngine * ) callback)
int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName,
QObject *(* ) ( QQmlEngine *, QJSEngine * ) callback)
int qmlRegisterSingletonType(const QUrl &url, const char *uri, int versionMajor, int versionMinor, const char *qmlName)前两个函数通过回调函数返回类型的实例,第三个函数通过URL⽣成实例
// First, define the singleton type provider function (callback).
static QJSValue example_qjsvalue_singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
{
Q_UNUSED(engine)
static int edValue = 5;
QJSValue example = scriptEngine->newObject();
example.tProperty("someProperty", edValue++);
return example;
}
// Second, register the singleton type provider with QML by calling this function in an initialization function.
#include <QtQml>
...
qmlRegisterSingletonType("Qt.example.qjsvalueApi", 1, 0, "MyApi", example_qjsvalue_singletontype_provider);
...
qml中这样使⽤
import QtQuick 2.0
ample.qjsvalueApi 1.0 as ExampleApi
Item {
id: root
property int someValue: ExampleApi.MyApi.someProperty
}
未写完,待续

本文发布于:2023-05-11 02:55:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/579691.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   单根   类型   肯定   知道   看看   声明
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图