UE5 多个类选择界面生成

ops/2024/10/18 16:41:39/

在Unreal Engine 5 (UE5) 中,如果你想要创建一个可以选择多个类的界面,你可以使用SClassPicker小部件。以下是一个简单的例子,展示如何在UE5的编辑器模块中创建一个自定义的编辑器工具栏按钮,并打开一个类选择器。

#include "ToolExampleEditor/Public/ToolExampleEditorModule.h"

#include "ToolExampleEditor/Public/ToolExampleEditorToolbar.h"

#include "EditorStyleSet.h"

#include "SClassPicker.h"

#include "IDetailsView.h"

#include "PropertyEditorModule.h"

#include "IDetailChildrenBuilder.h"

#include "DetailWidgetRow.h"

#include "DetailCategoryBuilder.h"

void FToolExampleEditorModule::AddToolbarExtension(FToolBarBuilder& Builder)

{

    Builder.AddToolBarButton(

        FUIAction(

            FExecuteAction::CreateRaw(this, &FToolExampleEditorModule::OnOpenClassPickerClicked),

            FCanExecuteAction()

        ),

        NAME_None,

        TAttribute<FText>(),

        TAttribute<FText>(),

        FSlateIcon(FEditorStyle::GetStyleSetName(), "ClassThumbnail.ClassIcon")

    );

}

void FToolExampleEditorModule::OnOpenClassPickerClicked()

{

    FSClassViewerInitializationOptions InitOptions;

    InitOptions.bShowNoneOption = true;

    InitOptions.bShowEngineClasses = true;

    InitOptions.bShowStableClasses = true;

    InitOptions.bShowUnstableClasses = true;

    // 打开类选择器并处理结果

    FClassViewerModule& ClassViewerModule = FModuleManager::LoadModuleChecked<FClassViewerModule>("ClassViewer");

    UClass* ChosenClass = ClassViewerModule.CreateClassViewer(InitOptions, TExtensibility::Get(), TSharedPtr<FClassViewerFilter>())->ShowClassViewer(

        TEXT("Select Class"),

        TEXT("Select a class"),

        UObject::StaticClass()

    );

    if (ChosenClass != nullptr)

    {

        // 使用选择的类

        FFormatNamedArguments Arguments;

        Arguments.Add(TEXT("ClassName"), FText::FromString(ChosenClass->GetName()));

        FMessageDialog::Open(EAppMsgType::Ok, FText::Format(LOCTEXT("ClassSelected", "Class {ClassName} selected."), Arguments));

    }

}

这段代码演示了如何在UE5编辑器模块中添加一个工具栏按钮,并在按钮点击事件中打开一个类选择器。当用户选择一个类后,会弹出一个消息框显示选择的类名。这个例子简单明了,并且提供了一个如何在UE5编辑器中集成类选择界面的实践方法。


http://www.ppmy.cn/ops/102464.html

相关文章

【基础算法总结】BFS 解决拓扑排序

BFS 解决拓扑排序 1.拓扑排序简介2.课程表3.课程表 II4.火星词典 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.拓扑排序简介 拓扑排序解…

基于imx6ull平台opencv的图像采集和显示屏LCD显示功能(不带Qt界面)

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境 三、开发流程3.1 编写测试3.2 验证功能 一、概述 本文档是针对imx6ull平台opencv的图像采集和显示屏LCD显示功能&#xff0c;opencv通过摄像头采集视频图像&#xff0c;将采集的视频图像送给显示屏LCD进行显示。 测试结果…

SpringBoot集成kafka开发-消息消费的分区策略(消费者如何判断从哪个分区中消费消息的?)

这里写目录标题 1、kafak消息者消费消息的4种分区策略2、kafka默认的消费分区策略1-RangeAssignor&#xff08;均匀分配、默认分配策略&#xff09;2.1、代码验证RangeAssignor的消息分区策略2.1.1、消费者2.1.2、生产者2.1.3、kafak配置类2.1.4、对象实体类2.1.5、项目配置文件…

【Axure视频教程】回车键的应用

今天教大家怎么使用回车键实现交互效果&#xff0c;我们回车键切换输入框为案例&#xff0c;在输入框输入内容后&#xff0c;按下回车键&#xff0c;如果还有空的输入框&#xff0c;就将光标设置到对应输入框&#xff0c;可以继续填写;如果全部输入框都填写完整&#xff0c;就会…

对成本的理解

1. Reference 薛兆丰的经济学课刘润.5分钟商学院 2. 成本的定义及原理 一句话给成本下定义 一个资源&#xff0c;它有若干的选项&#xff0c;被选中的那个选项&#xff0c;它的成本是那些所有落选的选项当中&#xff0c;价值最高的那个。简单说&#xff0c;成本就是放弃了的…

Faiss入门心得---向量数据库Faiss的搭建与使用

向量数据库Faiss&#xff08;Facebook AI Similarity Search&#xff09;是由Facebook AI Research&#xff08;FAIR&#xff09;团队开发的一款用于快速、高效的向量数据库构建和相似性搜索的开源库。它特别适用于处理大规模向量数据集&#xff0c;能够迅速在海量向量中搜索与…

009 批量删除

文章目录 前端后端 https://element.eleme.cn/#/zh-CN/component/button 前端 <el-button type"danger" click"batchDelete">批量删除</el-button><el-treeref"menuTree"batchDelete() {console.log("批量删除菜单..."…

无人机之航拍的优势

无人机航拍在多个方面展现出了显著的优势&#xff0c;这些优势使其在航拍领域具有强大的竞争力和广泛的应用前景。以下是无人机航拍的主要优势&#xff1a; 一、 独特的视角与视觉震撼 独特视角&#xff1a;无人机航拍提供了与传统拍摄截然不同的视角&#xff0c;尤其是垂直正…