ue4单选框设置

奇怪的是,ue4只有多选框,原来合并了。

.Style(FCoreStyle::Get(), "RadioButton")

 

不多说了,放代码

先枚举几个
    enum ERadioChoice
    {
        Radio0,
        Radio1,
        Radio2,
    };

 

                   + SHorizontalBox::Slot()
                    .AutoWidth()
                    [
                        CreateRadioButton(LOCTEXT("SRadioButtonItemLabel01", "左"), Radio0)
                    ]

                + SHorizontalBox::Slot()
                    .AutoWidth()
                    [
                        CreateRadioButton(LOCTEXT("SRadioButtonItemLabel02", "中"), Radio1)
                    ]

                + SHorizontalBox::Slot()
                    .AutoWidth()
                    [
                        CreateRadioButton(LOCTEXT("SRadioButtonItemLabel03", "右"), Radio2)
                    ]

   TSharedRef<SWidget> CreateRadioButton(const FText& RadioText, ERadioChoice RadioButtonChoice)
    {
        return SNew(SCheckBox)
            .Style(FCoreStyle::Get(), "RadioButton")
            .IsChecked(this, &SProjectInfo_cabinetUnion::HandleRadioButtonIsChecked, RadioButtonChoice)
            .OnCheckStateChanged(this, &SProjectInfo_cabinetUnion::HandleRadioButtonCheckStateChanged, RadioButtonChoice)
            [
                SNew(STextBlock)
                .Text(RadioText)
            ];
    }
    // Callback for determining whether a radio button is checked.
    ECheckBoxState HandleRadioButtonIsChecked(ERadioChoice ButtonId) const
    {
        return (_radioChoice == ButtonId)
            ? ECheckBoxState::Checked
            : ECheckBoxState::Unchecked;
    }
    // Callback for checking a radio button.
    void HandleRadioButtonCheckStateChanged(ECheckBoxState NewRadioState, ERadioChoice RadioThatChanged)
    {
        if (NewRadioState == ECheckBoxState::Checked)
        {
            _radioChoice = RadioThatChanged;
        }
    }


    // 单选选项
    ERadioChoice _radioChoice;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值