[UE4]Tree View

类似List View,但Tree View要求提供树形结构的数据。Tree View和Tile View都是继承自List View

 

一、创建一个名为“TreeEntry”的UserWidget,添加一个TextBlock,设置为红色。

  

  在类设置中实现User Object List Entry接口。

  实现 Event On List Item Object Set事件,每次创建一个树形节点,TreeView组件就会触发该事件:

 二、创建一个名为“TreeItemData”的蓝图类,继承自Object类。

  1、创建如下图所示的id、Children、TreeLevel三个成员变量。其中id和TreeLevel勾选Instance Editable和Expose on Spawn选项

     

  2、创建一个自定义函数Create Children,用来递归生成节点的子节点。

三、创建一个名为“TestTeeWidget”的UserWidget,用来测试显示TreeView

  1、添加TreeView控件,并选择TreeEntry作为Entry Widget Class。

    

  2、创建一个自定义函数InitialTreeItemData,并在事件中调用

    

    

   3、创建一个函数并绑定到On Get Item children事件。

    

    

     

四、在关卡蓝图BeginPlay事件中将Test Tree Widget加载进来。

  

  可以看到TreeView例子成功运行,点击节点可以展开收起子节点:

  

 

posted on 2019-01-18 22:14  一粒沙  阅读(7564)  评论(2编辑  收藏  举报