首页 > 解决方案 > Widget蓝图中调用c++函数

问题描述

我创建了从下面的 C++ 类继承的小部件。

#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++unreal-engine4

解决方案


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

如果对 C++ 代码(尤其是标头)进行更改,请始终关闭编辑器并从 Visual Studio 重新编译它。热重载无法解析对头文件的更改,这意味着如果您使用热重载,在从 Visual Studio 重新编译之前,蓝图中将无法使用函数和新属性等内容。

最好保持上下文敏感性。


推荐阅读