0

我的非 UObject 类拥有一个

UUserWidget* Instance;

那么如何从中获取子小部件(例如:UTextBlock)

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

4

1 回答 1

0

在 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- 更多信息在这里

于 2022-01-16T03:46:10.523 回答