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.pswp.cn/bicheng/83072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83072.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

位置規劃模式和周期同步位置模式區別

專業方向: 伺服電機位置控制模式(電氣自動化) 標題解釋 位置規劃模式(Profile Position Mode,PP)和周期同步位置模式(Cyclic Synchronous Position Mode,CSP)區別。 常規…

C# ToString格式說明符

貨幣 "C"或"c" //C Console.WriteLine(666.ToString("C"));//¥666.00//C數字 表示保留幾位小數精度 Console.WriteLine(666.ToString("C1"));//¥666.0 Console.WriteLine(666.ToString("C3"));//&…

基本數據指針的解讀-C++

1、引言 筆者認為對于學習指針要弄清楚如下問題基本可以應付大部分的場景: ① 指針是什么? ② 指針的類型是什么? ③ 指針指向的類型是什么? ④ 指針指向了哪里? 2、如何使用指針 使用時的步驟如下: ① …

【Elasticsearch】suggest_mode

suggest_mode 是 Elasticsearch 中 term suggester 和 phrase suggester 的一個參數,用于控制建議的生成方式。它有以下三種模式: 1. missing:默認值。僅對索引中不存在的詞項提供建議。如果輸入的詞已經在索引中存在,則不會生成建…

九、【前后端聯調篇】Vue3 + Axios 異步通信實戰

九、【前后端聯調篇】Vue3 Axios 異步通信實戰 前言準備工作第一步:安裝 Axios第二步:封裝 Axios 實例第三步:創建 API 服務模塊第四步:在組件中調用 API第五步:測試前后端聯調 總結 前言 在 Web 開發中,…

【計算機網絡】傳輸層TCP協議——協議段格式、三次握手四次揮手、超時重傳、滑動窗口、流量控制、

🔥個人主頁🔥:孤寂大仙V 🌈收錄專欄🌈:計算機網絡 🌹往期回顧🌹: 【計算機網絡】傳輸層UDP協議 🔖流水不爭,爭的是滔滔不息 一、TCP協議 UDP&…

php:5.6-apache Docker鏡像中安裝 gd mysqli 庫 【親測可用】

Dockerfile 代碼如下: FROM php:5.6-apache# 使用Debian歸檔源 RUN echo "deb http://archive.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list && \echo "deb http://archive.debian.org/debian-security s…

動態設置微信小程序頁面標題(navigationBarTitleText屬性)

前言: 最近在公司進行小程序研發的時候,產品給出了一個動態加載頁面標題的需求,經過調研之后將結果在這里與各位伙伴進行分享。 代碼展示: 在.json文件中進行初始配置: { "usingComponents": {}, &q…

從0開始學習R語言--Day12--泊松分布

今天我們來看一個很經典的回歸模型:泊松分布。 泊松分布 我們一般會把泊松分布用于預測問題,比如想知道成年人每天接到的騷擾電話次數,醫院每天的急診病人等。但在一些方面,跟我們想的會有出入。例如你不能將其應用在預測下周你的…

k8s中kubeSphere的安裝使用+阿里云私有鏡像倉庫配置完整步驟

一、實驗目的 1、掌握kubeSphere 的安裝部署 2、掌握kubesphere 使用外部鏡像倉庫; 2、熟悉圖像化部署任務:產生pod---定義服務--驗證訪問 本次實驗旨在通過 KubeSphere 平臺部署基于自定義鏡像(nginx:1.26.0 )的有狀態副本集…

STM32單片機簡介

1.基本情況 STM32單片機正如其名是32位微控制器,相較于51單片機的8位微控制器,性能會更好,但學習難度也會提高。 在stm32單片機中內核時核心部分,是ARM公司設計的,其在stm32單片機中占據極為重要的地位。(程序指令的…

GESP】C++一級考試大綱知識點梳理(1)

計算機基礎和操作系統 GESP C++一級官方考試大綱中,除可通過編碼掌握的Dev C++開發工具的使用和C++編程基礎語法知識外(考綱2-13),還涉及計算機基礎知識的要求(考綱1): (1)了解計算機的基本構成(CPU,內存,I/O 設備等) ,了解 Windows、Linux等操作系統基本概念和常…

淺談 JavaScript 性能優化

文章目錄 概要一、代碼執行優化1. 減少全局變量訪問2. 避免不必要的計算3. 優化循環操作 二、內存管理優化1. 減少內存泄漏2. 對象池與內存復用 三、渲染性能優化1. 避免強制同步布局2. 減少 DOM 操作3. 優化動畫與合成 四、網絡加載優化1. 代碼壓縮與 Tree Shaking2. 按需加載…

mongodb nosql數據庫筆記

MongoDB 簡介 MongoDB 是一個開源的 NoSQL 數據庫,采用文檔存儲模型(BSON 格式,類似 JSON),支持高靈活性、水平擴展和高性能的數據操作。與傳統關系型數據庫(如 MySQL)不同,MongoDB…

Flutter實現不規則瀑布流布局拖拽重排序

因為業務,所以需要用flutter去實現一種不規則圖形的瀑布流,但是同時需要支持拖拽并重新排序。效果類似如下。 查詢過現有的插件,要么是僅支持同樣大小的組件進行排序,要么就是動畫效果不是很滿意,有點死板,…

微信小程序(uniapp)實現騰訊云 IM 消息撤回

uniapp 實現騰訊云 IM 消息撤回功能實戰指南 一、功能實現原理 騰訊云 IM 的消息撤回功能通過 消息修訂(Message Revision) 機制實現,核心流程如下: 發送方調用撤回 API 刪除指定消息云端生成撤回通知消息(類型為 T…

AI入門示例

市面上有很多AI大模型,這里以 智譜的大模型 為示例 1.先要注冊智譜AI開放平臺 2.注冊成功后,會贈送3個月的免費額度,如下 3.然后去控制臺,創建一個API KEY 4.接著就可以開始寫代碼了 提前導入包: openai 示例1&…

【數據結構】單鏈表練習

1.鏈表的中間節點 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 用快慢指針來解決 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* he…

嘗鮮純血鴻蒙,華為國際版本暫時不支持升級。如mateX6 國際版?為什么不支持?什么時候支持?

一:mateX6 國際版支持鴻蒙嗎? 不支持 二:華為國際版支持鴻蒙嗎? 不支持 三:華為國際版什么時候支持? 2025年預期可以支持。請耐心等待。 三:國際版為什么不支持? EMUI 采用AO…

Spring Boot的啟動流程,以及各個擴展點的執行順序

目錄 1. 初始化階段執行順序 1.1 Bean的構造方法(構造函數) 1.2 PostConstruct 注解方法 1.3 InitializingBean 的 afterPropertiesSet() 1.4 Bean(initMethod "自定義方法") 2. 上下文就緒后的擴展點 2.1 ApplicationContext 事件監聽…