Kanzi入门学习教程

2023-10-27


锋影

e-mail:174176320@qq.com

1.安装Kanzi。

2.使用Kanzi studio创建工程。

Kanzi创建的工程会包含以下目录结构:

其中,

Tool_project文件夹中存放的是设计师设计的工程,包含kanzi UI的工程的所有文件。


Application文件夹则为代码的工程文件夹。该文件夹下的bin文件夹存放设计师导出的kzb文件,src文件夹

存放编写的代码,config里面存放对应的vs、vc、eclipse工程文件。

 

UI设计师和软件工程师通过bin目录下的kzb资源文件联系起来。UI设计师通过kanzi studio设计工具导出

kzb资源文件到该目录,而软件工程师使用engine读取该kzb文件创建界面,监听点击事件,传递数据,实现

具体功能。

 

【设计师设计部分】可以通过以下视频教程进行学习。

http://v.ku6.com/show/eHuNhYr8nd4S7gY7jpwahg...html?st=3_1_2

http://v.17173.com/so-index.html?key=kanzi

http://v.youku.com/v_show/id_XNjU5MTI2ODE2.html?from=y1.7-1.2

【软件工程师编程部分】

1.对于2.8.x版本:

刚创建的Kanzi工程有两个函数,其中kzApplicationConfigure为整个程序的入口,相当于main函数

(kanzi把main函数封装在库中了,只提供kzApplicationConfigure出来,kzApplicationConfigure会

在创建窗口之前回调)。

如下:

 1 /** 
 2  * A typical application configuration function. 
 3  */  
 4 KZ_CALLBACK void kzApplicationConfigure(const struct KzaSystemProperties* systemPropert
 5 ies, struct KzaApplicationProperties* configuration) 
 6 { 
 7     /* Memory reserved for the application. */  
 8     configuration->memoryPoolSize = 20 * 1024 * 1024;     //设置使用内存的大小,默认20Mb
 9     configuration->binaryName = "binaries.cfg";     //设置读取kzb的配置文件
10   
11     /* Platform specific configuration parameters. */  
12 #if defined WIN32 || defined __linux__ 
13     configuration->windowProperties.style = KZS_WINDOW_STYLE_DEFAULT; 
14     configuration->windowProperties.width = 800; 
15     configuration->windowProperties.height = 480; 
16 #endif 
17  
18     /* List of available entry points implemented. Implementation is optional. */  
19     /* Application lifetime. */ 
20     configuration->onStartup = startup; 
21     configuration->onProjectLoaded = projectLoaded; 
22     configuration->onShutdown = shutdown; 
23   
24     /* Application events. */ 
25     configuration->onApplicationEvent = applicationEventHandler; 
26     configuration->onWindowEvent = windowEventHandler; 
27   
28     /* Input events. */ 
29     configuration->onKeyInputEvent = keyInputEventHandler; 
30     configuration->onPointerInputEvent = pointerInputEventHandler; 
31      
32     /* Render cycle. */ 
33     configuration->onPreRender = preRender; 
34     configuration->onPostRender = postRender; 
35     configuration->onUpdate = update; 
36 }

 

kzApplicationConfigure函数中可做app的配置,设置内存池大小、窗口大小、窗口类型等,

另外就是在里面注册回调函数,如

configuration->onPostRender = postRender;

为注册每一帧渲染后的回调函数。

2.对于3.2版本则改成了c++的风格,如下:

 1 #include <kanzi/kanzi.hpp>
 2 
 3 class NApplicaiton : public ExampleApplication
 4 {
 5 protected:
 6     virtual void onConfigure(ApplicationProperties& configuration) KZ_OVERRIDE;
 7 
 8     virtual void onProjectLoaded() KZ_OVERRIDE;
 9 
10     virtual void onShutdown() KZ_OVERRIDE;
11 
12     virtual void onKeyInputEvent(const KzsInputEventKey* inputData) KZ_OVERRIDE;
13 
14 private:
15     NApplicaiton();
16     ~NApplicaiton();
17 
18 };
19 
20 Application* createApplication()
21 {
22     return new NApplicaiton();
23 }

 之前在2.8.x版本中的 注册回调函数的方式在3.2版本换成了 重写ExampleApplication的虚函数,其作用

还是一样的。同样onProjectLoaded会在资源加载完成后背调用。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kanzi入门学习教程 的相关文章

  • [转]QNX_HMI_crank工程的系统移植

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 开发软件 Cr
  • Kanzi入门学习教程

    锋影 e mail 174176320 qq com 1 安装Kanzi 2 使用Kanzi studio创建工程 Kanzi创建的工程会包含以下目录结构 其中 Tool project文件夹中存放的是设计师设计的工程 包含kanzi UI
  • CCP2.1协议基础知识

    1 前言 1 1 名词介绍 ASAP Arbeitskreis Standardisierung von Applicationssystem 应用系统标准化小组 CCP CAN Calibration Protocol CAN标定协议 C
  • [转]ADAS各功能模块及ADAS解决方案提供商详解

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com ADAS 采用
  • imx6的mipi接口在qnx系统中的调试技巧,vcapture-test功能应用

    锋影 e mail 174176320 qq com 在调试 MIPI DSI CSI 的一些经验总结 因为协议有专门的文档 所以这里就记录一些常用知识点 一 D PHY 1 传输模式 LP Low Power 模式 用于传输控制信号 最高
  • 座舱开发的“道”与“术”

    前言 近年来 随着汽车 新四化 浪潮的兴起 软件定义已成为产业共识 将深度参与到整个汽车的定义 开发验证销售以及服务全过程 一方面确保软件可升级 跨车型 软件甚至跨车企软件重用 另一方面对于硬来讲 要做到可扩展 可更换 甚至做到传感器的即插
  • 经纬恒润再次入选教育部产学研合作协同育人企业

    近日 教育部高等教育司组织的产学合作协同育人项目组公布了2023年度产学合作协同育人项目指南通过企业名单 经纬恒润再次入选 此次共获批37个项目 其中有25个师资培训项目 12个实践条件建设和实践基地建设项目 产学合作协同育人项目由教育部高
  • 什么是MMU,MMU的作用

    I 什么是MMU MMU的作用 MMU是Memory Management Unit的缩写 针对各种CPU MMU是个可选的配件 MMU负责的是虚拟地址与物理地址的转换 提供硬件机制的内存访问授权 现在的多用户多进程操作系统 需要MMU 才
  • 车规级MCU知识介绍

    一辆传统燃油车需要大约500到600颗芯片 轻混汽车大约需要1000颗 插电混动和纯电动汽车则需要至少2000颗芯片 这就意味着在智能电动汽车快速发展的过程中 不仅对先进制程芯片需求不断增加 而且对传统芯片需求也会持续增加 MCU就是这样
  • BT656跟BT1120和BT709有什么区别

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 email 174176320 qq com 601是SDTV的数据结构 656是SDTV的interface709是HDTV的数据结构
  • Klocwork — 符合功能安全要求的自动化静态测试工具

    Klocwork 符合功能安全要求的自动化静态测试工具 Klocwork工具应用静态分析技术 可实现对C C Java等代码的全面静态分析 检查问题种类既包含软件质量和安全缺陷相关 也可实现多种语言编码规则规范的检查 通过使用Klocwor
  • [转]QNX_BSP包分析

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 这篇文章主要分
  • 浅谈QNX进程间通信(IPC)

    锋影 e mail 174176320 qq com 在QNX Neutrino中消息传递 Message passing 是IPC的主要形式 其他的姓氏也是基于消息传递实现的 QNX中提供的IPC形式如何下图所示 一 Synchronou
  • [转]汽车电子还能这么玩

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 导读 汽车电子
  • 实时操作系统-与QNX比较-qnx系统优势-qnx性能分析-qnx系统性能分析

    锋影 e mail 174176320 qq com LynxOS QNX Linux的分析和比较 本文对四种实时操作系统 RTOS 特性进行分析和比较 它们是 Lynx实时系统公司的LynxOS QNX软件系统有限公司的QNX以及两种具有
  • QNX车载操作系统音频功能扩展Acoustics for Voice 3.0-qnx的音频降噪技术

    锋影 e mail 174176320 qq com QNX的降噪技术 那套有源噪声控制系统只要车内有扬声器和麦克风 就能将车内噪声降低20分贝 这次新发布的Acoustics for Voice 3 0与之功能类似 可以看做是它的升级版
  • Qt在嵌入式系统QNX的HMI应用方案

    author 锋影 扣扣 174176320 e mail 174176320 qq com 黑莓推出了其全新的黑莓10平台QT的智能手机和平板电脑 它产生了大量的兴趣在QT上移动 黑莓10是基于QNX1操作系统的黑莓 也许不是很出名 是Q
  • [转][QNX]对存储设备分区

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 email 174176320 qq com 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 命令格式 fdisk
  • QNX的应用移植迁移到Linux

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 author 锋影 e mail 174176320 qq com 近年来许多嵌入式产品将是公司从自营到开放源代码平台为他们提供更多灵活性和成本
  • VTD — 智能驾驶复杂交通场景仿真工具

    德国VIRES 公司开发的复杂交通场景视景仿真工具VTD Virtual Test Drive 可应用于汽车主动安全 无人车半实物测试的实时复杂交通场景生成 含雷达 红外 摄像头等传感器成像 及汽车驾驶模拟器开发中的交通视景展示 也应用于工

随机推荐

  • 小程序点击导航栏返回顶部小例子

  • Java提高性能的50个优化,记得收藏

    在JAVA程序中 性能问题的大部分原因并不在于JAVA语言 而是程序本身 养成良好的编码习惯非常重要 能够显著地提升程序性能 1 尽量在合适的场合使用单例 使用单例可以减轻加载的负担 缩短加载的时间 提高加载的效率 但并不是所有地方都适用于
  • unity3d中利用代码脚本控制按钮的开关

    1 软件环境 unity2019 4 12f1 Visual Studio2019 2 unity工程设置 右键在UI中添加Button组件 接下来添加C 脚本 将此脚本挂在Button的父物体上 后面会用到transfrom来查找到But
  • Axure中后台管理信息系统通用原型方案 v1

    点此下载原型模板 本作品是一套通用型的中后台管理系统原型设计方案 可以帮助你快速输出标准和美观的中后台产品原型方案 极大的节省协作成本和提升工作效率 这套方案提供了12套不同类型的登录界面和系统框架 并涵盖了大量的常用组件和常用页面模板 可
  • 组件开发概述——vue组件开发(一)

    前言 组件化是WEB前端开发中的一个非常重要概念 体现面向对象编程主要特征之一 封装性 组件化开发的目的和意图是提高了软件的可维护性 实现前端代码复用性 组件是扩展 HTML 元素 其使用方式和HTML5提供的组件使用方式一致 它补充HTM
  • Java实现根据当前时间获取本周(工作日)日期(周一~周五或周天)

    import java text ParseException import java text SimpleDateFormat import java util Date import java util Calendar public
  • 【100%通过率 】【华为OD机试 c++】基站维护工程师【 2023 Q1

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 基站维护工程师 小王是一名基站维护工程师 负责某区域的基站维护 某地方有 n 个基站 1 lt n lt 10 已知各基站之间的距离 s 0 l
  • linux脚本实现scp命令自动输入密码和yes/no等确认信息

    实现方式 通过expect工具实现 bin bash yum y install expect expect c spawn scp r root 192 168 10 106 root qumf Agoly txt root qumf e
  • mysql 查询 投影_sql--查询(基本,条件,投影,排序)

    要查询数据库表的数据 我们使用如下的SQL语句 SELECT FROM 使用SELECT FROM students时 SELECT是关键字 表示将要执行一个查询 表示 所有列 FROM表示将要从哪个表查询 该SQL将查询出students
  • 位域(bit fields)简介

    1 简介 位域是指信息在存储时 并不需要占用一个完整的字节 而只需占几个或一个二进制位 例如在存放一个开关量时 只有0和1 两种状态 用一位二进位即可 为了节省存储空间 并使处理简便 C语言又提供了一种数据结构 称为 位域 或 位段 所谓
  • 信息学奥赛-逻辑运算

    学习内容 1 逻辑运算概念介绍 非 not 与 and 或 or 异或 xor 2 运算规则 AVB 两个命题中至少有一个真命题时 其复合命题为真 A B 两个命题必须全为真命题 其复合命题才是真命题 A 将原命题取反 A B 两个命题一真
  • 【深度学习】tensorflow各个版本下载地址

    tensorflow与CUDA对应表如下 需要装低版本的tensorflow 下载地址 http mirrors aliyun com pypi simple tensorflow gpu
  • 吴晓波:2020年怎么看,怎么办?

    origin https 36kr com p 5274524 快公司 时代已经过去了 编者按 本文来自微信公众号 正和岛 ID zhenghedao 口述 吴晓波 财经作家 890新商学创始人 采写 曹雨欣 36氪经授权发布 再次见到吴晓
  • C++笔记-用指定字符串替换目标字符串中的字串-find-substr-replace

    功能是 用字符串zhangsan lisi wangwu替换目标字符串names 1 2 3 中的 1 2 3 结果是 names zhangsan lisi wangwu 1 使用std string的replace方法 std stri
  • three.js 创建文本的几种方式

    精灵贴图文本 text width 128px height 128px font size 16px text align center color ffffff background ff0000 div class text 精灵贴图
  • 基于javaweb+mysql的二手交易平台二手商城二手物品(前台、后台)

    基于javaweb mysql的二手交易平台二手商城二手物品 前台 后台 运行环境 Java 8 MySQL 5 7 Tomcat 8 开发工具 eclipse idea myeclipse sts等均可配置运行 适用 课程设计 大作业 毕
  • [题解]-整理药名

    题目 医生在书写药品名的时候经常不注意大小写 格式比较混乱 现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式 即药品名的第一个字符如果是字母要大写 其他字母小写 如将 ASPIRIN aspirin 整理成 Aspirin 输入
  • MySQL数据库之DML(数据操纵语言)

    1 DML 数据操纵语言 在进行数据库操作时 首先就是要使用DML 数据操纵语言 数据操纵语言主要由插入数据 insert 更新数据 update 以及删除数据 delete 组成 这些操作主要是针对 数据表中的数据 2 插入数据 INSE
  • 论文解读:Inpaint Anything: Segment Anything Meets Image Inpainting

    论文 https arxiv org pdf 2304 06790 pdf 代码 https github com geekyutao Inpaint Anything 图1 Inpaint Anything示意图 用户可以通过点击图像中的
  • Kanzi入门学习教程

    锋影 e mail 174176320 qq com 1 安装Kanzi 2 使用Kanzi studio创建工程 Kanzi创建的工程会包含以下目录结构 其中 Tool project文件夹中存放的是设计师设计的工程 包含kanzi UI