【UE】Slate编辑器动态添加Button
前言
实现编辑器动态添加界面元素,例如button之类的
效果
实现
.h文件添加定义
.cpp文件实现逻辑
- 界面排版
TSharedRef<SDockTab> FDynamicCreateToolModule::OnSpawnPluginTab(const FSpawnTabArgs& SpawnTabArgs)
{TSharedRef<SDockTab> dockTabSharedRef =SNew(SDockTab).TabRole(ETabRole::NomadTab)[SNew(SVerticalBox)+ SVerticalBox::Slot()[SNew(SHorizontalBox)+ SHorizontalBox::Slot()[SNew(SButton).Text(FText::FromString("Add")).OnClicked_Raw(this, &FDynamicCreateToolModule::AddButtonOnClick)]+ SHorizontalBox::Slot()[SNew(SButton).Text(FText::FromString("Remove")).OnClicked_Raw(this, &FDynamicCreateToolModule::RemoveButtonOnClick)]]+ SVerticalBox::Slot()[SAssignNew(VerticalBoxPtr, SVerticalBox)]];return dockTabSharedRef;
}
- 按钮点击
FReply FDynamicCreateToolModule::AddButtonOnClick()
{ButtonCount += 1;UpdateDynamicButtonCount();return FReply::Handled();
}
FReply FDynamicCreateToolModule::RemoveButtonOnClick()
{ButtonCount -= 1;if (ButtonCount < 0){ButtonCount = 0;}UpdateDynamicButtonCount();return FReply::Handled();
}
void FDynamicCreateToolModule::UpdateDynamicButtonCount()
{VerticalBoxPtr->ClearChildren();for (int index = 0; index < ButtonCount; index++){int id = index;VerticalBoxPtr->AddSlot()[SNew(SButton).Text(FText::FromString(FString::FromInt(id))).OnClicked(FOnClicked::CreateLambda([id]{UE_LOG(LogTemp, Display, TEXT("OnClick: %d"), id);return FReply::Handled();}))];VerticalBoxPtr->AddSlot()[SNullWidget::NullWidget];}
}
【UE】Slate编辑器动态添加Button相关推荐
- Android 动态添加Button(1)
这是一个非常简单的动态添加Button的例子: package com.kkkk.llll;import android.app.Activity; import android.os.Bundle; ...
- JS 编辑器动态添加select 鼠标划过显示下拉列表
核心知识点: 鼠标事件: onmousemove 鼠标移上 onmouseleave 鼠标移开 (注意区别开onmouseover和 onmouserout以及onmouseenter) co ...
- html lt table 设置数据,vue_+_element_ui_动态添加table数据
v插新,都次过是宗现制的前搭待个断前能绿和ue + element ui 动态添加tab直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数le数据 html为 &l事开目行会标以近情发架 ...
- Android 在布局容器中动态添加控件
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉 ...
- 实时监听div,input内容改变并获取值(包括脚本动态添加)
在DOM中可以通过DOMNodeInserted和DOMNodeRemoved这两个事件来监视DOM元素的插入和移除. <!doctype html> <html lang=&quo ...
- vue 动态添加click_vue,在模块中动态添加dom节点,并监听
vue向数组中动态添加数据 vue中数据更新通过v-model实现,向数组中添加数据通过push()实现,向shortcuts数组中动态添加newShortcut对象中的title和action th ...
- MFC中动态创建button及添加响应事件
MFC中动态创建button及添加响应的事件,主要步骤如下: 1.在头文件(**Dlg.h)中添加一个CButton类型, 例如:CButton btn; 2.在(**Dlg.cpp)的OnIn ...
- 获取滑动条位置,动态调整对话框显示位置;为动态添加的button添加click事件
1.获取滑动条位置,动态调整对话框显示位置 应用场景:页面上有三个按钮,所处位置高度不同,有的按钮需要移动滑动条才能看到,各个按钮点击后要弹出同一个对话框,为了保证对话框始终显示在当前视野的中央位置, ...
- E9流程表单中动态自定义添加button js代码
<script> // dom操作添加button到自定义属性单元格 clickUid中 // var a=jQuery("#clickUid").val(" ...
最新文章
- Android中的网络(字节跳动)
- chrome打不开12306
- php将中文插入数据库出现乱码
- 036、Linux下ipmitool命令
- Android UI编程之自定义控件初步(下)——CustomEditText
- [XSY4170] 妹子(线段树上二分)
- html 01前沿-web介绍
- Move_base理解
- 大二计算机应用基础1200体会,计算机应用基础1200题.doc
- 求解组合问题的一个迭代算法
- 深度学习自学(二十四):华为Atlas人工智能计算平台
- GIS_gdal geotiff文件与C# 数组array之间的转换
- Firefox浏览Flash网页乱码的解决方案
- 微博中微服务缓存_微服务实践分享(5)缓存中心
- 《JAVA与模式》— 原型模式
- 清理c盘、c盘哪些文件可以删、图形显示文件大小软件
- 创业能力之市场细分:小明的保时捷4S店的故事
- jsp中使用setAttribute发生错误
- 用golang做繁简体转换
- java中到底该不该用@author标识作者?
热门文章
- 扛过字节Java研发岗4轮面试,收到sp offer(月薪35k)!揭秘字节面试流程及考题(附带答案)
- Eclipse Memory Analyzer 使用技巧
- android和ios测试环境搭建,iOS自动化测试环境搭建
- 【效率办公】推荐一款非常好用的电脑桌面便签
- Java8-19新特性一览 ,认识全新的前沿技术
- 服务器文件怎么删,怎么删除服务器文件
- Information Retrieval(信息检索)笔记02:Preprocessing and Tolerant Retrieval
- Invalid Java package name: '1' is not a valid Java identifier eclipse创建sevlet时,无法创建
- 微信小程序面试题总结
- 使用云效应用交付平台 AppStack进行应用管理