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

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.lryc.cn/news/2394199.html

相关文章:

  • 【数据结构】字符串操作整理(C++)
  • PostgreSQL的扩展 dblink
  • c++5月31日笔记
  • Python打卡训练营Day41
  • 【Java进阶】图像处理:从基础概念掌握实际操作
  • JAVA网络编程——socket套接字的介绍下(详细)
  • Apache SeaTunnel 引擎深度解析:原理、技术与高效实践
  • 深入理解 Maven 循环依赖问题及其解决方案
  • pytest中的元类思想与实战应用
  • 前端生成UUID
  • 玩客云WS1608控制LED灯的颜色
  • 实验三 企业网络搭建及应用
  • 顶会新热门:机器学习可解释性
  • ReactJS 中的 JSX工作原理
  • 《STL--stack 和 queue 的使用及其底层实现》
  • ArcGIS Pro 3.4 二次开发 - 地理处理
  • 基于springboot的医护人员排班系统设计与实现(源码+文档+部署讲解)
  • Asp.Net Core FluentValidation校验框架
  • CRISPR-Cas系统的小型化研究进展-文献精读137
  • 利用python工具you-get下载网页的视频文件
  • Wi-Fi 切换 5G 的时机
  • 【请关注】各类数据库优化,抓大重点整改,快速优化空间mysql,Oracle,Neo4j等
  • Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤
  • React从基础入门到高级实战:React 高级主题 - 性能优化:深入探索与实践指南
  • 负载均衡群集---Haproxy
  • 2025年5月个人工作生活总结
  • 【stm32开发板】单片机最小系统原理图设计
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.2 R语言解题
  • 2025山东CCPC题解
  • 【解决办法】ubuntu重启不起来,输入用户名和密码进不去,又重新返回登录页。