Documentation
1.c++创建widget.md
2025/12/16预计阅读 1 分钟
蓝图做法
FClassFinder 只能在构造函数中调用,其他位置调用可能会闪退 其他位置,比如BeginPlay推荐使用LoadClass
设置这个属性后,需要在蓝图中选择某个蓝图widget
UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="背包蓝图类")
TSubclassOf<UUserWidget> BBWidgetClass;
C++做法
使用ConstructorHelpers::FClassFinder根据路径来查找class
注意尾巴要手动加上
_C,这个是UE规定的约束
static ConstructorHelpers::FClassFinder<UMyBackpackWidget> BBWidgetClassFinder(TEXT("/Script/UMGEditor.WidgetBlueprint'/Game/UMG_MyBackpackWidget.UMG_MyBackpackWidget_C'"));
或者使用LoadClass
UClass* widgetClass = LoadClass<UUserWidget>(NULL,TEXT("/Script/UMGEditor.WidgetBlueprint'/Game/UMG_MyBackpackWidget.UMG_MyBackpackWidget_C'"));