在 Widget 蓝图中调用 c++ 函数

Call c++ function in Widget blueprint

我创建小部件,继承自下面的 C++ class。

#pragma once

#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Widget_Manager.generated.h"

UCLASS()
class CRY_API UWidget_Manager : public UUserWidget
{
    GENERATED_BODY()
public:
    UPROPERTY(BlueprintReadWrite, Category ="test")
    int32 x;
    UFUNCTION(BlueprintCallable, Category = "test")
    int32 increase_x(int32 i);
};

我想输出value1中x的值,然后增加,输出到value2。 我的问题是蓝图看不到函数 increase_x()。 不在元素列表中,不在函数搜索中。

我也尝试了 属性 CallInEditor。 如何在小部件中调用此功能?

请确保您没有使用热重载(编辑器中的编译 C++ 按钮)。

如果您更改了 C++ 代码,尤其是 Headers,请始终关闭编辑器并从 Visual Studio 重新编译它。 Hot Reload 无法解析对 Header 文件的更改,这意味着如果您使用 Hot Reload 直到从 Visual Studio.

进行重新编译,蓝图中将无法使用函数和新属性等内容

另外,最好将上下文敏感度保持打开状态。