在虚幻引擎4 C++中,如何从widget中点击的UI按钮访问索引?

问题描述 投票:0回答:1

我正在使用虚幻引擎4和C++制作一个UI菜单。我有这样的代码(取自这个帖子)。

H: 
UPROPERTY(meta = (BindWidget)) UButton* TestButton;

UFUNCTION() void OnClick();

CPP:
void UWidgetClassName::NativeConstruct() 
{
    Super::NativeConstruct();

    if (!TestButton->OnClicked.IsBound()) TestButton->OnClicked.AddDynamic(this, &UWidgetClassName::OnClick);
}

void UWidgetClassName::OnClick() 
{
     //I want to access the index of the clicked button here
}

代码有点简化,我实际上是在一个循环中动态创建这个按钮,所以我最终有很多按钮,所有这些按钮都调用同一个函数。有没有一种方法可以 "知道 "哪个按钮被按下,例如,如果我按下第一个按钮,我得到1,如果我按下第二个按钮,我得到2,等等?

非常感谢:)

c++ unreal-engine4 buttonclick
1个回答
1
投票

所以,你可以做的是创建你自己的按钮类,你可以动态地创建,并在点击时返回某种形式的标识符,如索引或其他东西?如果你想保持它的通用性,你也可以将它们添加到某种容器列表中,并通过容器上的GetAllChildren访问特定的按钮,这将返回一个数组。

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.