UE4_用户控件_4_Widgets嵌套Widgets构建复杂系统

embedded/2025/1/8 23:30:23/

一、效果展示:

二、创建嵌套控件UMG_NestedWidgets

1、新建用户控件,并更名为UMG_NestedWidgets。

2、拖拽图像到画布面板,调整参数如下:

3、拖拽垂直框到画布面板,调整参数如下:

4、添加滚动框,参数如下图:

5、拖拽文本,参数如下:

6、控件层级结构如下:

7、垂直框中添加4个水平框,之间用间隔区相隔,层级结构如下:

8、第一个水平框中添加文本和文本框参数调整后,样式如下:

9、依次调整其它水平框内容,调整后样式如下:

图层结构如下:

三、创建用于嵌套在UMG_NestedWidgets中滚动框的控件UMG_Entry。

1、新建控件蓝图,更名为UMG_Entry。

2、添加水平框,水平框里面放2个垂直框。

3、第一个垂直框样式如下:

4、第二个垂直框的层级结构及样式如下:

5、对第二个垂直框的所有文本创建绑定函数。

6、创建枚举数据类型Race

7、创建结构数据类型PlayerData_Struct

8、编辑控件蓝图UMG_Entry的事件图表

(1)创建一个PlayerData_Struct类型的变量

(2)分别设置绑定函数

四、编辑UMG_NestedWidgets的事件图表

1、当控件被创建时,我们需要显示鼠标。

2、创建控件蓝图UMG_Entry的对象引用类型的变量

3、创建控件并设置好变量

4、把它添加到UMG_NestedWidgets中的滚动框中

添加到界面上效果如下:

效果不好需要调整。

5、添加一个变量ScrollBox is filled用于判定是否在滚动框中添加了控件蓝图。

6、当添加后设置为真

7、我们需要把playerdata结构体类型数据变成公开,这样就可以在此蓝图实例上进行编辑,随时改变它的值。

注意还得勾选生成时公开,否则的话看不到。

8、UMG_NestedWidgets中这些值需要赋给控件实例的变量playerdata。所以我们需要创建一个playerdata结构体类型的变量。

结构体类型的变量来源于可编辑文本框、滑块和组合框

但你会发现组合框被选择的值为字符串,类型不匹配

那么我们来创建一个枚举型Race变量,根据下拉列表框的值来设置此变量。


 

9、剩下的就是当UMG_NestedWidgets中这些值改变时实时改变。

(1)当文本被修改时调用

(2)当两个滑块的值变更时调用

(3)当下拉列表框已变更选择时调用

10、枚举型Race变量selectedvalue值得设置

运行测试:


五、拓展改进


http://www.ppmy.cn/embedded/152411.html

相关文章

JVM生产环境常用参数配置及调优建议

一、生产常用参数配置 JAVA_OPTS"-server -Xms3000m -Xmx3000m -Xmn1500m -XX:UseG1GC -XX:ConcGCThreads8 -XX:PrintGCDetails -XX:PrintGCTimeStamps -Xloggc:./g1-gc.log -XX:MaxMetaspaceSize256m -XX:-UseGCOverheadLimit -XX:UseCompressedOops -XX:HeapDumpOnOu…

使用ElasticSearch查询

从一个query body开始 {"query": {"bool": {"disable_coord": true,"must": [{"match": {"enabled": "1"}},{"range": {"effectTime": {"lt": "2017-06-13 13:33:…

明源地产ERP VisitorWeb_XMLHTTP.aspx SQL注入漏洞复现

0x01 产品简介 明源地产ERP是一款专门为房地产行业设计的企业资源规划(ERP)系统,旨在帮助房地产企业实现全面的信息化管理,提高运营效率和管理水平。系统涵盖了项目管理、财务管理、供应链管理、客户关系管理(CRM)、人力资源管理等多个核心功能模块,通过整合企业的各个…

docker镜像制作的命令,docker自定义镜像

一.Dockerfile制作镜像的命令1.Dockerfile文件的编写格式FROM //指定基础镜像(唯一)FROM 镜像名:标签USER //启动容器使用的用户,切换用户执行命令(唯一)相当与sudo -u nobody,切换用户执行命令RUN //在容器内执行命令,可以写多条…

【办公类-47-02】20250103 课题资料快速打印(单个docx转PDF,多个pdf合并一个PDF 打印)

背景需求: 2023区级大课题《运用Python优化3-6岁幼儿学习活动材料的实践研究》需要做阶段资料 本来应该2024年6月就提交电子稿和打印稿。可是python学具的教学实验实在太多了,不断生成,我忙着做教学,都没有精力去整理。 2025年…

小程序学习07—— uniapp组件通信props和$emit和插槽语法

目录 一 父组件向子组件传递消息 1.1 props (a)传递静态或动态的 Prop (b)单向数据流 二 子组件通知父组件 2.1 $emit (a)定义自定义事件 (b)绑定自定义事件 三 插槽语法…

MySQL数据结构选择

系列文章目录 一、MySQL数据结构选择 二、MySQL性能优化explain关键字详解 三、MySQL索引优化 文章目录 系列文章目录前言一、索引1.1、什么是索引1.2、构建索引的过程1.3、索引的更新和维护1.4、索引的查询和管理1.5、InnoDB 和 MyISAM 的索引实现1.6、联合索引和最左前缀法则…

【2025软考高级架构师】案例题重点知识——第三部分

33.需求分析总结 需求分析主要是用来分析系统主要做什么,提炼、分析、认真审查获取到的需求,确保所有项目干系人明白其中的含义,同时找出错误、遗漏或者不足的地方。 需求分析的7个方面包括: 1.建立系统边界 2.创建用户界面原型 3.创建数据流图 4.创建数据字典 5.确定…