• 'UTextRenderComponent::SetText': Passing text as FString is deprecated, please use FText instead (likely via a LOCTEXT)


    错误提示就是说接收FString参数的方法被弃用了,需要使用FText作为参数(为了方便本地化)

    解决报错只需要改用:

    CountdownText->SetText(FText::AsNumber(CountdownTime));
    
    CountdownText->SetText(INVTEXT("GO!"));

    还需要在cpp文件头部添加:

    #define LOCTEXT_NAMESPACE "MyNamespace" 

    并在末尾添加:

    #undef LOCTEXT_NAMESPACE

    以上操作创建了一个本地化的命名空间,从而可以使用LOCTEXT创建FText

    代码里有两种方法直接创建FText:

    FText LOCTEXT("MyKey", "MyString"); // 本命名空间
    
    FText NSLOCTEXT("MyOtherNamespace", "MyKey", "MyString") // 使用其他命名空间

    每个Key对应一个字符串,用Key就可以得到真正展示给用户的字符串,从而方便本地化(虽然写起来麻烦)

    如果想要使用字符串格式化,可以:

    int32 MyNumber = 755;
    FText::Format(LOCTEXT("ShowMyNumber", "My Number: {0}"), MyNumber);

    一些常用数字的还可以直接使用:

    float MyFloat = 1234.5
    FText::AsNumber(MyFloat); // 1,234.5
    
    float MyPercent = 0.2;
    FText::AsPercent(MyPercent); // 20%
    
    float MyMemory = 1234; // 字节
    FText::AsMemory(MyMemory); // 1.2KiB

    还有更多的格式化的可参考文档中关于文本本地化部分

    如果只是使用FText而不进行本地化:

    FText::AsCultureInvariant("MyString");

    或者使用一种简写的格式:

    INVTEXT("MyString");

    (由于不进行本地化,所以就不需要指定Key了)

    同样的,FText的格式化也有许多简写格式,比如FText::AsNumber可以直接用LOCGEN_NUMBER等,有需要的时候再翻文档即可。

  • 相关阅读:
    jmeter之GUI运行原理
    jmeter之自定义java请求性能测试
    TestNG+ExtentReports生成超漂亮的测试报告(转)
    【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告(转)
    Windows 清空剪切板
    android studio Warehouse(仓库配置)
    C/C++ string to int or int to string
    CNC FANUC define program
    CNC WEB
    CNC 法兰克加工中心CNC数控系统怎么修改程序
  • 原文地址:https://www.cnblogs.com/yl-xy/p/13854989.html
Copyright © 2020-2023  润新知