当前位置: 首页 > java >正文

2.qml使用c++

目录

  • 1.概述
  • 2.注册方式
  • 3. 分类
    • ①枚举类
    • ②工具类
    • ③数据类
    • ④资源类
    • ②视图类

1.概述

qml是用来干嘛的?
当然是提高UI开发效率的
为什么要混合C++?
因为qml无法处理密集型数据逻辑
而加入c++则兼顾了性能
达到1+1>2

总结就是 qml 开发UI, C++ 实现逻辑
而js的用在简单的逻辑与接合c++与qml

2.注册方式

清楚了qml的使用,那么就意味着我们要开始着手逻辑
而qml 引入c++的方式则是通过将注册c++到qml中进行使用
注册方式就有以下几种:
在这里插入图片描述
常用如下

1.qmlRegisterModule() 
注册类型前,先显示声明模块存在,否则通过类型的方式注册模块的话是隐式声明的
2.qmlRegisterType()
基本上这个就是正常的类型,没有什么限制,可以实例化
3.qmlRegisterUncreatableType()
如果希望对象只由C++创建则使用这个
4.qmlRegisterUncreatableMetaObject()
一般用于注册工具类或者专门提供枚举的枚举类
5.qmlRegisterInterface()
一般注册接口类, 用于容纳多态对象
6.qmlRegisterSingletonInstance()
注册单例模式

3. 分类

我们将qml使用c++的东西分类成以下几种

①枚举类

一般专门管理枚举的类

②工具类

一般就是提供静态方法的类

③数据类

派生于QObject ,专门提供给qml数据
用于作为一个数据类型,状态机,接口提供;

④资源类

qml提供了资源接口类QuickImageProvider
派生与QuickImageProvider的类,可以给qml中Image组件提供图像资源的路径,当然这个提供的静态图像资源
应用途径就有动态二维码,验证码等等

②视图类

用于渲染视图的类,也就是组件类
组件类有哪些呢? 就是派生于QQuickItem 与 QQuickPaintedItem 的类
将他们注册到qml 中就是qml的组件了

http://www.xdnf.cn/news/9856.html

相关文章:

  • 【C++基础知识】RAII的一个简单示例讲解
  • MySQL8.4组复制
  • SpeedFolding 论文翻译
  • “谁能进,谁不能进?”——用NAC精准控制网络访问
  • JS中class和构造函数的区别
  • Selenium 测试框架 - Kotlin
  • 制造企业搭建AI智能生产线怎么部署?
  • .NET WinForm图像识别二维码/条形码并读取其中内容
  • 01.认识Kubernetes
  • 广告流量监测和IP地址离线库
  • Nexus仓库数据高可用备份与恢复方案(下)
  • 苹果FINDMY和谷歌FIND HUB增强共享位置功能
  • offset 家族和 client 家族
  • 【第4章 图像与视频】4.1 图像的绘制
  • Next.js 布局(Layout)与模板(Template)深度解析:从原理到实战
  • 在VirtualBox中打造高效开发环境:CentOS虚拟机安装与优化指南
  • SQL正则表达式总结
  • Java面试实战:从Spring到大数据的全栈挑战
  • STM32中,如何理解看门狗
  • WebSocket与实时对话式AI服务的集成
  • MySQL ALTER TABLE 组合操作时导致的错误
  • GPU 图形计算综述 (二):固定管线
  • dto vo类为什么要序列化?
  • 相量法正弦稳态电路的分析(面向题目)
  • 从汇编的角度揭秘C++函数重载,原来这么简单
  • 【最小生成树】Prim 算法、Kruskal 算法
  • 基于vue框架的独居老人上门护理小程序的设计r322q(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 42道CSS高频题整理(附答案背诵版)
  • Java AQS(Abstract Queued Synchronized)深度解析
  • MyBatisPlus(2):常用注解