UE4和C++ 开发-C++绑定widget的方式和初始化UI

C++绑定widget的方式有两种,一种是使用meta = (BindWidget),一种是使用GetWidgetFromName(TEXT("")),两种方式都可以。
一、meta = BindWidget方式
    注意这种绑定的方式UMG里面的空间名称需要与C++里面声明的变量名称相同 Btn_StartU

二、GetWidgetFromName方式

.h文件
UPROPERTY()
        UButton* Btn_Register;
 
.cpp文件
Btn_Register = Cast<UButton>(GetWidgetFromName(TEXT("Btn_Register")));

三、初始化UI的两种方式,第一是virtual void NativeConstruct() override;第二种是bool Initialize() override;

.h文件
public:virtual void NativeConstruct() override;bool Initialize() override;UFUNCTION()void OnStartUIclickEvent();UFUNCTION()void LoginClickEvent();
.cpp文件
void UMyUserWidget::NativeConstruct()
{Super::NativeConstruct();Btn_Register = Cast<UButton>(GetWidgetFromName(TEXT("Btn_Register")));Btn_Register->OnClicked.AddDynamic(this,&UMyUserWidget::OnStartUIclickEvent);
}bool UMyUserWidget::Initialize()
{if (!Super::Initialize()){return false;}Btn_StartUI->OnClicked.AddDynamic(this, &AMyGameMode::LoginClickEvent);return true;
}

四、指定蓝图UMG的方式TSubclassOf<UUserWidget> MySubClassOfWidget;

UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Widget")
    TSubclassOf<UUserWidget> MySubClassOfWidget;

UUserWidget* TmpWidget = CreateWidget<UUserWidget>(GetWorld(),MySubClassOfWidget);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/131745.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kopler.gl笔记:可视化功能总览

1 添加数据 2 添加图层 打开“数据层”菜单&#xff0c;开始可视化。 层&#xff08;Layers&#xff09;简单来说就是可以相互叠加的数据可视化。 3 添加过滤器 在地图上添加过滤器以限制显示的数据。过滤器必须基于数据集中的列。要创建新的过滤器&#xff0c;打开“过滤器…

保姆式教程:MAC安装Android studio(包括安装JDK,Android SDK),解决gradle下载慢的问题

文章目录 参考文章安装JDK并配置环境变量安装JDK配置JDK相关的环境变量 Android studio 安装下载Android studiogradle下载慢解决方法 安装Android SDK选择jdk版本安装SDK并配置环境变量 参考文章 原文链接 原文链接 安装JDK并配置环境变量 安装JDK 下载地址 下载后双击安装…

基于SpringBoot的在线试题库系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 学生管理 教师管理 专业管理 试卷管理 试题管理 考试管理 错题本 考试记录 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 使用旧方法对作业管理信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的…

Docker系列--网络的配置

原文网址&#xff1a;Docker系列--网络的配置_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Docker的网络的配置。 官网网址 https://docs.docker.com/engine/reference/commandline/network/ 网络的默认设置 Docker启动之后&#xff0c;系统中会产生一个名为docker0的…

初识华为云数据库GaussDB for openGauss

01 前言 GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力&#xff0c;同时支持分布式事务&#xff0c;同城跨AZ部署&#xff0c;数据0丢失&#xff0c;支持1000的扩展能力&#xff0c;PB级海量存储。同时拥有云上高可用&#xff0c;高可…

排序算法-冒泡排序法(BubbleSort)

排序算法-冒泡排序法&#xff08;BubbleSort&#xff09; 1、说明 冒泡排序法又称为交换排序法&#xff0c;是从观察水中的气泡变化构思而成的&#xff0c;原理是从第一个元素开始&#xff0c;比较相邻元素的大小&#xff0c;若大小顺序有误&#xff0c;则对调后再进行下一个…

排序算法-希尔排序法(ShellSort)

排序算法-希尔排序法&#xff08;ShellSort&#xff09; 1、说明 我们知道当原始记录的键值大部分已排好序的情况下插入排序法非常有效&#xff0c;因为它不需要执行太多的数据搬移操作。希尔排序法是D.L.Shell在1959年7月发明的一种排序法&#xff0c;可以减少插入排序法中数…

【高等数学】极限(上)(最全万字详解)

文章目录 1、数列的极限1.1、数列极限的定义1.2、为什么收敛数列极限是唯一的&#xff1f;1.3、为什么收敛数列是有界的&#xff1f;1.4、数列极限的保号性1.4.1、极限保数列值1.4.2、数列值保极限值 1.5、收敛数列与其子列之间的关系 2、函数极限概念2.1、函数极限的定义2.1.1…

Django实现音乐网站 ⒆

使用Python Django框架做一个音乐网站&#xff0c; 本篇主要为排行榜功能及音乐播放器部分功能实现。 目录 排行榜列表 设置路由 视图处理 模板渲染 设置跳转入口 播放器功能开发 设置路由 模板页面 脚本渲染 列表渲染和播放器实现 音乐播放器列表展示关闭 总结 排…

【C++】如何使用RapidXML读取和创建XML文件

2023年10月11日&#xff0c;周三下午 目录 RapidXML的官网使用rapidXML读取XML文件中的元素的属性和值此次要读取的XML文件&#xff1a;ReadExample.xml用于读取此XML文件的C代码运行结果使用rapidXML创建XML文件用于创建XML文件的C代码 如果上面的代码无法运行运行结果​编辑…

Vue响应式原理

Vue响应式原理 1 目的 Vue 通过数据劫持获取数据变化&#xff0c;利用发布-订阅模式&#xff0c;在当数据发生改变时自动响应到界面上。 2 原理 **Obeserve 建立数据劫持&#xff08;观察&#xff09;。**通过js的Object.defineProperty&#xff08;vue3使用Proxy&#xff…

conda: error: argument COMMAND: invalid choice: ‘activate‘

参考:https://github.com/conda/conda/issues/13022 输入后重启terminal即可