UE4中SCheckBox小记

本文探讨了如何实现父级菜单与子级菜单联动的复选框设计,其中父级SCheckBox的待定状态问题。重点在于OnCheckStateChanged接口的局限以及解决策略,适合前端开发者理解与技术实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求背景:父级菜单中复选框与子级菜单联动展示,就是选中父级菜单的复选框,子级中的菜单的复选框全部被勾选中,在全部被勾选的复选框中选中一个取消勾选,父级的复选框变为待定状态。

需求分析:父级复选框有三种状态,选中,未选中和待定状态。
子级复选框只有两种状态,选中和未选中。
SCheckBoxType有两种类型:
一种是传统的复选框
一种是切换按钮
在这里插入图片描述

SCheckBoxState有三种状态
一种是未选中状态
一种是选中状态
一种是待定状态(待定状态可用于子级菜单未全选中时,父级SCheckBox状态为待定状态)
在这里插入图片描述

重点:

	/** Called when the checked state has changed */
	SLATE_EVENT( FOnCheckStateChanged, OnCheckStateChanged )

判断复选框状态是否变化有一个接口是OnCheckStateChanged,但是监控的只有两态。意思就是,只是监控选中和未选中两种状态的变化。即使此时点击子级复选框,父级的复选框状态从选中变为待定状态此时并未执行OnCheckStateChanged这个接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值