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

UE 树形图(Tree View)_1

一.树形图介绍

1.所需类型

(1)TreeView控件:作为树形图主体,后面简称树形图

(2)EntryWidget:本质是一个UserWidget,作为树形图中的子元素存在,必须要实现UserObjectListEntry接口,否则无法作为树形图的子元素.后面简称Entry

(3)TreeViewItem:EntryWidget对应的信息or实体,基类为UObject,后面简称Item

2.三者关系

(1)关系图

(2)对应关系建立方式

①上面三个类型是通过树形图来实现对应关系的,通过在树形图控件的EntryWidgetClass属性,将树形图和Entry 关联

②树形图通过AddItem来与Item建立联系,每添加一个Item就会在UI层面生成一个EntryWidgetClass的实例Entry

二.准备素材

1.分别创建树形图(UserWidget),Entry(UserWidget),Item(UObject)

①Entry添加一个Text控件

classSettings中添加UserObjectListEntry接口,并实现OnListItemObjectSet接口函数

当Entry被创建之后,EventOnListItemObjectSet会被触发,与之对应的Item会被返回出来

②TreeView添加一个TreeView控件

需要指定一个EntryWidgetClass,否则会报错

为OnGetItemChildren创建绑定

每当树形图AddItem之后,该函数会被触发,添加的Item会被传入这个函数

③Item暂时不做处理

2.执行流程

(1)手动调用AddItem:将创建好的Item对象作为参数传入树形图的AddItem函数中

(2)树形图的OnBp_OnGetItemChildren回调函数会自动触发,将第一步传入的Item返回出来

(3)前两步执行完成之后,树形图会在内部为Item创建一个对应的Entry,然后Entry的EventOnListItemObjectSet会被自动调用,并且会将其对应的Item返回出来

执行流程如下图:

3.简易版树形图制作流程

(1)Item

①添加以下属性

ItemName:名称,用于在树形图中显示

Level:层级级别,用于在树形图中表示层级关系,如下图红黄绿分别属于三个层级

children:存储子级Item信息,比如上图中的Lamp中存放着四个SM_Lamp_Ceiling子Item

NumberOfChildren:子级Item数量,此变量仅用于演示,只是为了方便讲解层级关系

②添加以下成员函数

Init:初始化自身,初始化子级

InitChildren:创建N个子级Item,子级Item再初始化自身

防止看不清,分开截图:

(2)Entry

将Item数据显示

(3)TreeView

树形图会为Item的Children Item也创建各自的Entry

4.测试

至此最基础的树形图功能完成了,进阶内容待续

http://www.jsqmd.com/news/491403/

相关文章:

  • 【WIN开发】04 四种文件操作之注册表编程
  • (2.1.27)-1.3 安全性、可靠性与系统性能评测基础知识
  • Swagger2 自定义排序
  • UE 树形图 C++版
  • 广柔扁平排线电缆在人形机器人应用优势探讨
  • Win+安装Ollama+本地Deepseek-R1+Cherrystudio使用
  • 2026年建筑加固优选:碳纤维布厂家加固博士,以50年质保定义安全新标准 - 速递信息
  • 探索C语言中数组 sizeof 、 strlen 的奥秘
  • UE 最全FString字符串与各格式转换 输出
  • 2026大专财富管理毕业工资多少?就业薪资、岗位方向与升职考证全攻略
  • “安、迅、智、省”四维发力,高频科技解锁半导体超纯水运维新价值
  • 基于 FastAPI + Vue 3 深度定制的全栈自动化执行引擎设计全解
  • whois社区贡献指南:如何提交解析器与参与开源开发
  • 一种在winfrom窗体中显示计算公式的解决方案
  • 电源动态响应测试
  • MobileCoin智能合约开发入门:构建基于隐私支付的去中心化应用
  • GARbro:视觉小说资源浏览器
  • 2026年智能客服哪家好?AI客服机器人与系统选购指南 - 品牌2026
  • Pleaserun vs 手动编写init脚本:效率提升10倍的秘密
  • 2026高职物联网毕业起薪一般多少?就业方向、岗位薪资与升职路径全解析
  • 2026年角钢厂家怎么选?柒鑫合以工字钢、槽钢、角钢为核心,构建全品类型钢供应能力 - 深度智识库
  • MoonShine Admin Panel完全解析:为何它是2024年最值得尝试的Laravel后台框架?
  • OpenClaw技术详解:原理、使用方法、应用场景与架构设计
  • laravel-menu性能优化:高效生成与缓存策略
  • 2026高端全屋智能家居品牌推荐排行 权威评测 全场景AI/家居一体化 - 极欧测评
  • PHing配置文件完全手册:build.xml编写指南与示例
  • go-face完全指南:用Go语言构建高性能人脸识别系统的终极教程
  • 2026 年云南大棚管实力厂家合集 本地口碑出众的钢材服务商盘点 - 深度智识库
  • 对比实验:VoiceprintRecognition-Pytorch中8种损失函数的性能差异
  • 2026年靠谱智能客服系统盘点,适合企业使用的客服工具推荐 - 品牌2026