UE4C++ 设置UMG控件的Slot

本文介绍如何通过代码操作控件的位置、锚点及大小等属性,包括不同类型的插槽如CanvasPanelSlot和HorizontalBoxSlot的具体实现方式。

转:https://blog.youkuaiyun.com/l171672538/article/details/78874601

 

本篇介绍一下 如何使用代码来获得或者设置控件的位置锚点等。。。

 

首先看一下次控件所属插槽是什么类型的

如果当前所要操作的控件是Image1 而它的插槽是CanvasPanelSlot

那么C++中格式为:

如果所要操作的控件CanvasPanel1的Slot为HorizontalBoxSlot

C++中:

 

另贴上一些底层代码 来了解一下插槽的 Offset、Position、Size

 

 

Position.X = Left;   Y = Top;

 

Size.X = Right;  Y = Bottom;

 

OffSet

在Unreal Engine 4 (UE4) 中,使用C++设置UI中的图像所包含的图片可以通过以下步骤实现: 1. 确保你的项目中已经包含了一个UI蓝图或C++类,并且该UI有一个UImage组件。 2. 在你的C++代码中,你需要包含相关的头文件,并获取到UImage的引用。 3. 创建一个UTexture2D对象,并加载你想要显示的图片。 4. 将这个UTexture2D对象设置为UImage的Brush。 以下是一个简单的代码示例: ```cpp #include "YourProjectName.h" #include "Runtime/UMG/Public/Blueprint/UserWidget.h" #include "Runtime/UMG/Public/Components/Image.h" #include "Runtime/Engine/Classes/Engine/Texture2D.h" void AYourActor::SetImageTexture() { // 假设你已经有了一个UImage的引用,名为MyImage UImage* MyImage = Cast<UImage>(GetWidgetFromName(TEXT("YourImageWidgetName"))); if (MyImage) { // 加载图片资源 FString ImagePath = TEXT("/Game/YourFolder/YourImage.YourImage"); UTexture2D* Texture = Cast<UTexture2D>(StaticLoadObject(UTexture2D::StaticClass(), NULL, *ImagePath)); if (Texture) { // 创建一个新的FSlateBrush FSlateBrush Brush; Brush.SetResourceObject(Texture); // 设置UImage的Brush为新创建的Brush MyImage->SetBrush(Brush); } } } ``` 在这个例子中,`YourProjectName`是你的项目名,`YourImageWidgetName`是UImage组件的名字,`YourFolder/YourImage.YourImage`是图片资源的路径和名称。这段代码首先尝试从指定的路径加载一个纹理,然后创建一个FSlateBrush,并将其设置为UImage的Brush。 请确保替换示例中的占位符为你实际的项目名称、资源路径和组件名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值