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

【UE5】控件蓝图——树视图(TreeView)的基本使用

目录

前言

效果

步骤

一、显示根节点 

二、显示子节点


前言

我们在视口中添加1个方块,2个球体,5个圆柱

它们在大纲视图中的层级关系如下,那么如何将这种层级关系显示在树视图中是本篇文章要解决的问题。

效果

步骤

一、显示根节点 

1. 新建一个控件蓝图,这里命名为“WBP_TreeView”

打开“WBP_TreeView”,添加树视图控件

此时编译会报错,这是因为我们还没有指定条目控件类

2. 创建一个控件蓝图,这里命名为“WBP_Item”,作为条目控件类

打开“WBP_Item”,添加如下控件

在类设置中添加一个系统自带的蓝图接口“UserObjectListEntry”

3. 新建一个蓝图,父类为Object,命名为“Item”

打开“Item”,添加如下4个变量,其中“Depth”表示树视图的深度(这里包括根节点有3层因此Depth为2);“Child”表示根节点所包括的所有子节点,“Actor”表示根节点本身指代的Actor

4. 回到“WBP_Item”中,添加如下节点

5. 回到“WBP_TreeView”中,设置条目控件类为“WBP_Item”,此时可以看到树视图中有5个条目

在选中树视图控件后点击“创建绑定”

6. 回到“WBP_TreeView”中,在事件图表中添加如下节点,表示在树视图控件构建的时候获取场景中的静态网格体Cube,然后构建游戏对象“Item”,将Cube传入“Item”,最后将Item作为根节点添加到树视图中。

7. 在关卡蓝图中将控件显示出来

此时运行可以看到已经在树视图中显示了根节点

二、显示子节点

1. 打开“WBP_TreeView”,添加一个新函数,这里命名为“F_ActorRecursion”,表示对所有子节点所包括的Actor及这些Actor包括的所有子项进行递归

该函数添加如下两个输入

函数内容如下

在事件图表中调用函数“F_ActorRecursion”

之前我们已经为树视图创建了绑定函数,只要点击了树视图的节点时就会执行该函数。

在绑定函数“OnBP_OnGetItemChildren”中添加如下节点,表示点击了节点后来获取该节点的所有后代

2. 打开“WBP_Item”,给文本控件包裹一个水平框,然后添加间隔区

设置水平框靠左

将间隔区公开为变量

在事件图表中,当设置条目的名字时添加如下节点,根据条目所处的节点深度来设置间隔区的尺寸。

最终运行效果如下

参考视频:

UE5教程:UMG列表:树视图(TreeView)


http://www.kler.cn/a/286403.html

相关文章:

  • 「AI学习笔记」深度学习的起源与发展:从神经网络到大数据(二)
  • SpringBoot整合Swagger UI 用于提供接口可视化界面
  • java+vue项目部署记录
  • 我的求职面经:(2)C++中空指针请使用nullptr不要使用NULL
  • C++模板初识
  • 中国股市“慢牛”行情的实现路径与展望
  • 2024国赛数学建模备战:灰色预测,国赛数学建模思路代码 模型
  • hive学习(六)
  • 【大模型】GPT系列模型基础
  • 讯鹏科技智慧公厕专业供应商,解读智慧公厕有哪些奥秘
  • 【Spring Boot 3】【Web】文件下载
  • 盘点2024年4款可以免费使用的视频压缩软件。
  • 如何打造Java SpringBoot宿舍设备管理系统,全程跟踪设备使用周期,2025最新设计指南
  • 量化投资策略与技术学习PART8:量化选股之趋势追踪
  • 【数据结构】二叉树基础(带你详细了解二叉树)
  • GPU服务器与CPU服务器的不同之处
  • 37次8.27(docker03)
  • 我的sql我做主!Mysql 的集群架构详解之组从复制、半同步模式、MGR、Mysql路由和MHA管理集群组
  • QPS提升10倍怎么设计-JAVA后端经常用到的技术
  • tomcat 调优
  • Python爬虫案例五:将获取到的文本生成词云图
  • WT2605C蓝牙语音芯片:引领糖尿病管理智能化,优化血糖仪音频与蓝牙传输方案
  • VSCode手动创建SpringBoot项目的方法,及详细步骤
  • Docker通信全视角:原理、实践与技术洞察
  • 作业0828
  • 【C/C++】C++程序设计基础(输入输出、数据类型、动态内存、函数重载、内联函数、常量、引用)