当前位置: 首页 > news >正文

ue5 创建多列StreeView的方法与理解

创建StreeView的多列样式怎么就像是创建单行单列差不多?貌似就是在单行单列中加入了多列widget?

目录结构:

必备条件

StreeView的多列创建需要的必备条件:

数据基类

CustomItemBase 

#pragma once
/*
----------------------------------
| Name       | Value              |
----------------------------------
| 香蕉       | 真正的香蕉           |
----------------------------------
*/// 构建一个基类,相当于创建一个空的价签,其中包括(名字:价格:),具体怎么填由子类决定
class FCustomItemBase : public TSharedFromThis<FCustomItemBase>
{
public:virtual ~FCustomItemBase() {}// 比如要卖香蕉:名字:香蕉 ,Value :价格virtual TSharedRef<SWidget> MakeNameWidget() = 0;virtual TSharedRef<SWidget> MakeValueWidget() = 0;//当展示时需要先获取到这个价签后才能知道这是为哪个商品准备的价签(即:名字,价格)void GetChildrens(TArray<TSharedRef<FCustomItemBase>>& OutChildren) const{ OutChildren = Childrens;};private://用于保存传入的参数并通过OutChildren传出去TArray<TSharedRef<FCustomItemBase>> Childrens;
};/*
----------------------------------
| Name       | Value              |
----------------------------------
FCustomItemBase中有两个属性(name、Value),所以制作价签时就需要预留两个空位,使用SMultiColumnTableRow多列样式
创建继承至class SMultiColumnTableRow的类,查看基类样式为SMultiColumnTableRow : public STableRow<ItemType>
解释为: S类名 :public 基类<价签的引用>,有几个属性就安排几个位置(即:有两个属性,就安排两列),这是S类,所以需要S类的构造方法
如果是单列:STableRow,每行就只能放一个属性,明白了吗?
----------
| Name  |
----------
*/class SMultiDetailTableRow : public SMultiColumnTableRow<TSharedRef<FCustomItemBase>>
{SLATE_BEGIN_ARGS(SMultiDetailTableRow){}SLATE_END_ARGS()// 父类SMultiColumnTableRow中的方法,动态生成不同列的显示内容,必须实现的方法virtual TSharedRef<SWidget> GenerateWidgetForColumn( const FName& InColumnName ) override;// 父类方法中默认两个参数,第三个参数是因为创建时必须有FCustomItemBase才能正确显示void Construct(const FArguments& InArgs

http://www.mrgr.cn/news/92808.html

相关文章:

  • 【13】智能合约进阶
  • RabbitMQ快速入门
  • 【Python 语法】算法合集
  • HTMLS基本结构及标签
  • 分享一套适合做课设的SpringBoot商城系统
  • React底层原理详解
  • 5分钟看懂Deepseek开源周之六:Deepseek-V3/R1推理系统设计----揭开深度求索模型系统设计和运营成本之谜
  • Linux-ftrace-双nop机制的实现
  • 【异地访问本地DeepSeek】Flask+内网穿透,轻松实现本地DeepSeek的远程访问
  • 10.1 指针进阶
  • 施耐德 PLC 硬件库 DTM 的安装
  • Mysql100道高频面试题
  • 【Qt QML】QML鼠标事件(MouseArea)
  • C#-委托
  • Spring Boot3+Vue3极速整合: 10分钟搭建DeepSeek AI对话系统(进阶)
  • SOLID Principle基础入门
  • QT基础十、表格组件:QTableWidget
  • vue3中展示markdown格式文章的三种形式
  • 前端实现OSS上传图片(Vue3+vant)
  • 14. LangChain项目实战1——基于公司制度RAG回答机器人