Rightware Kanzi 全方位教程:从入门到实践
Rightware Kanzi 是业界领先的、用于创建下一代汽车和信息娱乐系统 HMI(人机界面)的开发平台,它以其高性能、灵活的工作流程和强大的可视化能力而闻名。

本教程将分为以下几个部分,循序渐进地引导您学习 Kanzi:
- 第一部分:初识 Kanzi - 了解 Kanzi 是什么,它的核心优势和应用场景。
- 第二部分:开发环境准备 - 下载、安装和配置 Kanzi Studio。
- 第三部分:核心概念与工作流程 - 掌握 Kanzi 的基本术语和开发流程。
- 第四部分:创建你的第一个 Kanzi 项目 - 一个详细的实战步骤,创建一个简单的 "Hello World" 界面。
- 第五部分:进阶学习路径 - 了解可以深入学习的方向。
- 第六部分:学习资源与社区 - 提供官方和社区的学习资源链接。
第一部分:初识 Kanzi
1 Kanzi 是什么?
Kanzi 是一个完整的 HMI 开发解决方案,它不仅仅是一个 UI 编辑器,它包含以下核心组件:
- Kanzi Studio: 一个可视化的、所见即所得的编辑器,用于设计、构建和调试 HMI 界面。
- Kanzi Engine: 一个高性能的 C++ 运行时引擎,负责在目标硬件上渲染 Kanzi 创建的界面,处理用户输入和动画。
- Kanzi Connect: 一个可选的组件,用于简化 HMI 与车载网络(如 CAN, LIN, SOME/IP)的通信,以及云端服务的集成。
2 为什么选择 Kanzi?
- 高性能与低延迟: Kanzi Engine 经过极致优化,即使在资源受限的车规级硬件上,也能实现流畅的 60fps 动画和快速响应。
- 灵活的工作流: 设计师可以使用 Kanzi Studio 创建视觉设计,而工程师则通过 C++ 或 JavaScript 将其与车辆逻辑集成,两者可以并行工作,提高开发效率。
- 一次开发,多平台部署: 同一个 Kanzi 项目可以轻松部署到从低端仪表盘到高端中控屏、全液晶仪表、HUD(抬头显示)甚至数字钥匙等多种不同的硬件上。
- 强大的功能集: 内置了大量高级功能,如复杂的动画系统、3D 支持、多语言、主题切换、数据绑定、性能分析工具等。
- 行业标准的合规性: 深度支持 AUTOSAR、SOME/IP 等汽车行业标准,并遵循 ISO 26262 功能安全流程。
第二部分:开发环境准备
1 系统要求
在安装之前,请确保您的计算机满足以下要求(以 Windows 为例,macOS 和 Linux 也支持):
- 操作系统: Windows 10/11 (64-bit)
- 硬件: 推荐 8GB 以上内存,多核处理器,独立的显卡。
- 软件:
- Visual Studio: Kanzi 应用程序通常需要用 C++ 编译,建议安装 Visual Studio 2025 或 2025(Community 版本免费)。
- Git: 用于版本控制。
- Node.js (可选): 如果使用 Kanzi 的 JavaScript 功能。
2 下载与安装
- 访问官网: 前往 Rightware 官方网站。
- 申请试用: 点击 "Request a Demo" 或 "Free Trial",填写表单以获取 Kanzi Studio 的下载链接和许可证。
- 下载安装包: 下载适用于您操作系统的安装包。
- 安装 Kanzi Studio:
- 运行安装程序,按照向导的提示进行操作。
- 安装过程中可以选择安装一些可选的组件,如示例项目、文档等,建议全部安装。
- 激活许可证:
- 首次启动 Kanzi Studio 时,会提示您激活许可证。
- 根据您收到的邮件指引,输入许可证文件或密钥进行激活。
第三部分:核心概念与工作流程
理解以下核心概念是掌握 Kanzi 的关键。

1 项目
一个 Kanzi 项目包含了创建一个 HMI 所需的一切文件,包括:
- 场景: 界面的各个页面(如主屏幕、设置菜单)。
- 资源: 图片、字体、3D 模型、动画等。
- 逻辑: 用于控制界面行为的 C++ 或 JavaScript 代码。
- 配置: 项目设置、平台定义等。
2 场景
场景是 Kanzi 中的基本构建块,代表一个完整的屏幕或视图,一个 HMI 应用通常由多个场景组成,
MainScreen.kzSettingsScreen.kzNavigationScreen.kz
3 节点
场景是由节点树构成的,每个节点都是一个可以添加到场景中的对象,
- 矩形: 用于绘制背景或色块。
- 图片: 用于显示位图。
- 文本: 用于显示文字。
- 按钮: 一个可交互的图片或文本节点。
- 布局节点: 用于自动排列子节点(如垂直布局、水平布局)。
节点之间是层级关系,父节点的属性(如位置、旋转)会影响其所有子节点。

4 属性与数据绑定
每个节点都有属性,Position(位置)、Size(大小)、Opacity(不透明度)、Text)等。
数据绑定是 Kanzi 的核心功能之一,它允许你将节点的属性与一个数据源(如一个 C++ 变量或一个 CAN 信号)连接起来,当数据源的值改变时,节点的属性会自动更新,无需手动刷新,这是实现动态 HMI(如车速表、转速表)的关键。
5 动画
Kanzi 提供了强大的动画编辑器,你可以通过时间轴来创建关键帧动画,控制节点的任何属性(位置、大小、颜色、透明度等),动画可以是线性的、缓入缓出的,也可以是复杂的路径动画。
6 工作流程
一个典型的 Kanzi 开发流程如下:
- 设计: 在 Kanzi Studio 中,使用节点和资源构建场景的视觉布局。
- 交互: 添加按钮、滑动条等控件,并定义它们的点击、触摸等事件响应。
- 数据绑定: 将 UI 元素与车辆数据(如车速、油量)或应用程序状态绑定。
- 动画: 为界面元素添加过渡和交互动画。
- 调试: 使用 Kanzi Studio 内置的模拟器和性能分析工具进行调试和优化。
- 集成: 编写 C++ 或 JavaScript 代码,实现业务逻辑,并与车辆 ECU 通信。
- 部署: 将项目编译并部署到目标硬件上运行。
第四部分:创建你的第一个 Kanzi 项目
让我们动手创建一个简单的项目,在屏幕上显示一个 "Hello Kanzi!" 的文本,并点击按钮后改变其颜色。
步骤 1:创建新项目
- 打开 Kanzi Studio。
- 在欢迎界面,选择 "Create New Project"。
- 选择一个模板,对于初学者,选择 "Empty Application" 模板。
- 为项目命名,
MyFirstKanziApp,并选择一个保存位置。 - 点击 "Create"。
步骤 2:了解工作区
Kanzi Studio 的工作区主要包括:
- 场景编辑器: 中间最大的区域,用于可视化地编辑场景。
- 节点树: 左侧面板,显示当前场景的节点层级结构。
- 属性检查器: 右侧面板,显示选中节点的所有属性。
- 资源管理器: 左侧或底部面板,管理项目中的所有资源(图片、字体等)。
步骤 3:添加文本节点
- 在 节点树 面板中,右键点击根节点(通常是
Scene或Screen)。 - 选择 Add > Text > Text。
- 一个新的文本节点会被添加到场景中,在 属性检查器 中找到
Text属性,将其值从New Text改为Hello Kanzi!。 - 你可以拖动文本节点或修改其
Position和Size属性,将其放置在屏幕中央。
步骤 4:添加按钮节点
- 同样,在 节点树 中右键点击根节点。
- 选择 Add > Button > Button。
- 一个默认样式的按钮会出现,你可以调整它的位置,比如放在文本节点的下方。
步骤 5:创建和设置状态
为了在点击时改变文本颜色,我们将使用 Kanzi 的状态机制。
- 在 节点树 中,选中我们的文本节点
Hello Kanzi!。 - 在 属性检查器 的顶部,你会看到一个 "States" 下拉菜单,默认是 "default" 状态。
- 点击 号,创建一个新状态,命名为
Clicked。 - 确保当前选中的是
Clicked状态。 - 在属性列表中找到
Color属性,点击颜色选择器,将其改为一种新的颜色(比如红色)。 - 现在你有了两个状态:
default(默认颜色)和Clicked(红色)。
步骤 6:连接事件到状态转换
- 在 节点树 中,选中我们刚刚创建的按钮节点。
- 在 属性检查器 中,找到
Events(事件)部分。 - 点击 号,添加一个新事件,事件类型选择
On Clicked。 - 在右侧的 "Actions"(动作)面板中,选择
Set State动作。 - 在
Target中,选择我们的文本节点Hello Kanzi!。 - 在
State中,选择我们刚刚创建的Clicked状态。
步骤 7:预览和测试
- 点击 Kanzi Studio 顶部工具栏的 Play 按钮(一个绿色的三角形)。
- Kanzi 模拟器会启动,显示你的 HMI 界面。
- 点击按钮,你应该能看到 "Hello Kanzi!" 文本的颜色从默认色变为红色。
- 再次点击,它不会变回来,为了完善它,我们需要在
On Clicked事件中添加另一个动作:如果当前状态是Clicked,则切换回default状态,这可以通过添加一个条件判断或使用Toggle State动作来实现(具体实现方式略有不同,Toggle State是最简单的)。
恭喜!你已经成功创建了你的第一个具有交互功能的 Kanzi 界面。
第五部分:进阶学习路径
掌握了基础后,你可以沿着以下路径深入学习:
-
数据绑定:
- 学习如何创建数据模型。
- 如何在 C++ 中定义变量并将其暴露给 Kanzi。
- 如何将 UI 属性(如文本、进度条的值)与数据模型绑定。
-
C++ 集成:
- 这是 Kanzi 开发的核心,学习如何创建 Kanzi 应用程序项目(通常是 Visual Studio 项目)。
- 如何加载
.kzb文件(Kanzi 的二进制场景文件)。 - 如何处理事件,如何与车辆总线(CAN, SOME/IP)进行通信。
-
高级动画与布局:
- 使用时间轴编辑器创建复杂的、多属性的动画。
- 深入学习布局系统,创建能够自适应不同屏幕尺寸的响应式界面。
-
3D 与着色器:
- Kanzi 支持集成 OpenGL ES 和 Vulkan,学习如何加载和显示 3D 模型。
- 使用 GLSL 着色器创建自定义的视觉效果。
-
性能优化:
- 使用 Kanzi Studio 的性能分析工具(Profiler)来识别和解决性能瓶颈。
- 学习关于绘制调用、纹理优化、内存管理等最佳实践。
第六部分:学习资源与社区
-
官方文档:
- Rightware Knowledge Base: 这是 最重要 的资源,包含了所有 Kanzi 功能的详细文档、教程和 API 参考,你几乎所有的疑问都能在这里找到答案。
-
官方示例:
- Kanzi 安装包中包含了大量高质量的示例项目,仔细研究这些示例是学习 Kanzi 的最佳方式。
Cluster Demo,HMI Demo等展示了从基础到高级的各种功能。
- Kanzi 安装包中包含了大量高质量的示例项目,仔细研究这些示例是学习 Kanzi 的最佳方式。
-
视频教程:
- Rightware 官方 YouTube 频道有入门和进阶的视频教程。
-
社区与支持:
- Rightware 支持团队: 如果你购买了商业许可,可以通过官方渠道获得直接的技术支持。
- 开发者论坛: 寻找其他开发者进行交流和提问。
学习 Kanzi 是一个循序渐进的过程,从理解核心概念开始,通过官方示例和教程进行实践,逐步挑战更复杂的功能,最重要的是,多动手,多尝试,祝你学习顺利!
