UE4 - 从UUserWidget的指针(UMG)获取子控件



我的非UObject类持有

UUserWidget* Instance;

那么,我如何从中获得一个儿童小部件(例如:UTextBlock(

简而言之,我想要这样的东西:Instance->GetChildrenWidgetByName("UTextBlock_Name")

在4.26.2中,如果您知道孩子的名字,则可以执行此操作

Instance->WidgetTree->FindWidget(WidgetFName);

或者这个,如果你只是想通过键入找到它

TArray<UWidget*> Children;
Instance->WidgetTree->GetAllWidgets(Children);
for(auto Child : Children)
{
if(UTextBlock* Block = Cast<UTextBlock>(Child))
{
//return Block
//or add to some TArray if you want to find multiple
}
}

有关更多信息,请查看文档

顺便说一句,获取指向小部件子级的指针的一种非常方便的方法是在UPROPERTY中使用meta = (BindWidget),这里是

最新更新