我的非 UObject 类拥有一个
UUserWidget* Instance;
那么如何从中获取子小部件(例如:UTextBlock)
简而言之,我想要这样的东西:
Instance->GetChildrenWidgetByName("UTextBlock_Name")
我的非 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
}
}
有关更多信息,请查看文档
在旁注中,获取指向小部件子级的指针的一种非常方便的方法是使用meta = (BindWidget)
in UPROPERTY
- 更多信息在这里