использование неопределенного типа 'UTextBlock' UE4 - PullRequest
0 голосов
/ 12 февраля 2020

Я написал простой код и получил ошибку, я не могу понять, почему нет доступа

  • C: \ Users \ 79215 \ Documents \ Unreal Projects \ HowTo_UMG \ Source \ HowTo_UMG \ MyUserWidget.h (37): примечание: см. Объявление 'UTextBlock'

  • C: \ Users \ 79215 \ Documents \ Unreal Projects \ HowTo_UMG \ Source \ HowTo_UMG \ MyUserWidget. cpp (15): ошибка C2027: использование неопределенного типа 'UTextBlock'

MyUserWidget.h

    #pragma once


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

    #include "MyUserWidget.generated.h"


    /**
     * 
     */
    UCLASS()
    class HOWTO_UMG_API UMyUserWidget : public UUserWidget
    {
        GENERATED_BODY()

    public:
        virtual void NativeConstruct() override;

    public:


        UPROPERTY(BlueprintReadOnly, meta = (BindWidget))
        class UTextBlock* ItemTitle;
    };



MyUserWidget. cpp

#include "MyUserWidget.h"


void UMyUserWidget::NativeConstruct()
{
    Super::NativeConstruct();

    if(ItemTitle)
    {
        ItemTitle->SetText(TEXT("Name "));
    }
}

Я добавил #include "Components / TextBlock.h" и получил другие ошибки

  • C: \ Users \ 79215 \ Documents \ Unreal Projects \ HowTo_UMG \ Source \ HowTo_UMG \ MyUserWidget. cpp (13): ошибка C2664: «void UTextBlock :: SetText (FText)»: невозможно преобразовать аргумент 1 из «const char [1]» в «FText»

  • C: \ Users \ 79215 \ Documents \ Unreal Projects \ HowTo_UMG \ Source \ HowTo_UMG \ MyUserWidget. cpp (13): примечание: ни один конструктор не может принять тип источника или конструктор перекрывает разрешение было неоднозначным

  • C: \ Program Files \ Epic Games \ UE_4.24 \ Engine \ Source \ Runtime \ UMG \ Public \ Components / TextBlock.h (162): примечание: см. объявление 'UTextBlock :: SetText'

1 Ответ

1 голос
/ 12 февраля 2020

необходимо использовать FText

ItemTitle->SetText(FText::FromString("Name "));

, а также включать

#include "Runtime/UMG/Public/UMG.h"
or
#include "Components/TextBlock.h"
...