UE4 UI控件遍历 代码 C++
#include "Blueprint/UserWidget.h"#include "Components/Button.h"
TArray<UUserWidget*> GetAllUserWidgets()
{
TArray<UUserWidget*> UserWidgets;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), UUserWidget::StaticClass(), UserWidgets);
return UserWidgets;
}
void TraverseUIButtons()
{
TArray<UUserWidget*> AllWidgets = GetAllUserWidgets();
for (UUserWidget* Widget : AllWidgets)
{
TArray<UWidget*> AllChildren;
Widget->GetAllWidgets(AllChildren);
for (UWidget* ChildWidget : AllChildren)
{
if (UButton* Button = Cast<UButton>(ChildWidget))
{
// 这里你可以对Button进行你需要的操作
// 例如:Button->SetVisibility(ESlateVisibility::Collapsed);
}
}
}
}
页:
[1]