首页 > 编程语言 >qmlRegisterType 注册C++类型出现 module not fount

qmlRegisterType 注册C++类型出现 module not fount

时间:2022-09-21 11:37:11浏览次数:67  
标签:qmlRegisterType module LdpModel fount C++ qml QML

使用 qmlRegisterSingletonType 或 qmlRegisterType 想QML注册C++类,按照使用文档上方法添加如下:

    qmlRegisterSingletonType<CProtoInfoModel>("LdpModel", 1, 0, "protoInfoModel", CProtoInfoModel::singletonInstance);
    qmlRegisterType<CStateMoniterModel>("LdpModel", 1, 0, "stateMoniterModel");

然后再QML文件中添加如下import

import LdpModel 1.0

出现如下错误:

qrc:/qml/LdpProto.qml:31 Type StateMonitor unavailable
qrc:/qml/StateMonitor.qml:7 module "LdpModel" is not installed

在网上找了很久资料,发现都是这么用的,但就是不正确,很是无语。

最后在一片文章中看到这样一句:注意:第四个QML的类名首字母一定要大写,要不然会报错。。而且是那种你找不到的

然后修改为:

    qmlRegisterSingletonType<CProtoInfoModel>("LdpModel", 1, 0, "ProtoInfoModel", CProtoInfoModel::singletonInstance);
    qmlRegisterType<CStateMoniterModel>("LdpModel", 1, 0, "StateMoniterModel");

最后一切OK,然后看了下帮助文档,别人第一句就是 This template function registers the C++ type in the QML system with the name qmlName,意思是注册一个类型到QML系统里面去,既然是用到QML里面的类型,这里第四个参数代表QML系统里面使用的类型名,所以首字母就必须大写。

这个说明一点:一定要理解帮助文档。

 

标签:qmlRegisterType,module,LdpModel,fount,C++,qml,QML
From: https://www.cnblogs.com/CaiNiaoIceLee/p/16714905.html

相关文章

  • 排序方法(C++ 、递归方法)
    1#include<iostream>2#include<vector>3usingnamespacestd;45vector<int>sort(intn,vector<int>inputs,intp){6intmin=inputs[p],pos......
  • C++ 参考网站汇总
    本篇总结学习C++时常用的几个网站,点击会跳转到相应网页。一、CPP基础知识参考链接1.C++参考手册(英文版):https://en.cppreference.com/2.C++参考手册(中文版):https:/......
  • C++ 左值引用与一级指针
    将左值引用用于一级指针时,有以下几种用法://方式一:引用一级指针,常规用法inta=5;int*pa=&a;int*&rpa=pa;//方式二:引用指向常量的一级指针,以下几种为等效表......
  • C++07_std::tuple、std::optional、std::variant、std::visit
    std::tuplestd::tuple常用容器:tuplestd::tuple<...>可以将多个不同类型的值打包成一个。尖括号里填各个元素的类型。之后可以用std::get<0>获取第0个元素,std::get<1>......
  • C++05_模板元编程
    模板函数为什么需要模板函数(template)避免重复写代码inttwice(inti){returni*2;}floattwice(floatf){returnf*2;}doubletwice(doubled)......
  • C++06_函数式编程
    函数也是对象函数可以作为另一个函数的参数:#include<cstdio>template<classFunc>voidcall_wait(Funcfunc){func(0);func(1);}intmain(){au......
  • T1031:反向输出一个三位数(信息学一本通C++)
     目录[题目描述]将一个三位数反向输出,例如输入358,反向输出853。[输入]一个三位数n。[输出]反向输出n。[输入样例]100[输出样例]001 #include<iostream>u......
  • T1033:计算线段长度(信息学一本通C++)
     目录[题目描述]已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到小数点后3位。[输入]第一行是两个实数Xa,Ya,即A的坐标。第二行是两个实数Xb,Yb,即B的......
  • T1035:等差数列末项计算(信息学一本通C++)
     目录[题目描述]给出一个等差数列的前两项a1,a2,求第n项是多少。。[输入]一行,包含三个整数a1,a2,na1,a2,n。−100≤a1,a2≤100,0<n≤1000。[输出]一个整数,即第n项的值。。......
  • T1034:计算三角形面积(信息学一本通C++)
     目录[题目描述]平面上有一个三角形,它的三个顶点坐标分别为(x1,y1),(x2,y2),(x3,y3),那么请问这个三角形的面积是多少,精确到小数点后两位。[输入]输入仅一行,包括......