在unreal中如何获得UEditorUtilityWidget对象的TabId
在Unreal Engine中,可以通过以下步骤获得UEditorUtilityWidget对象的TabId:
- 打开UEditorUtilityWidget对象的.h文件。
- 在类定义的上方,使用
UCLASS()宏声明类,确保类继承自UEditorUtilityWidget。 - 在类定义的下方,添加以下代码:
#if WITH_EDITOR
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
#endif
- 在.cpp文件中实现
PostEditChangeProperty函数:
#if WITH_EDITOR
void UYourEditorUtilityWidgetClass::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
// 调用父类的函数
Super::PostEditChangeProperty(PropertyChangedEvent);
// 检查是否是TabId属性发生了变化
if (PropertyChangedEvent.Property && PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(UEditorUtilityWidget, TabId))
{
// 获取TabId的值
FName TabId = TabId;
// 打印TabId
UE_LOG(LogTemp, Warning, TEXT("TabId: %s"), *TabId.ToString());
}
}
#endif
- 保存并重新编译项目。
- 在编辑器中打开UEditorUtilityWidget对象,当TabId属性发生变化时,将在输出日志中打印TabId的值。
请注意,在步骤4中,UYourEditorUtilityWidgetClass应替换为你自己的UEditorUtilityWidget的类名。另外,你可以根据需要对TabId进行进一步处理,而不仅仅是打印它
原文地址: http://www.cveoy.top/t/topic/hNYf 著作权归作者所有。请勿转载和采集!