如何获得所选的单选按钮值?

pal*_*laa 5 matlab radio-button

我不是matlab程序员,但我需要使用matlab创建一个界面!对于matlab程序员来说,这个问题应该很容易:)

我有一个界面,其中包含单选按钮组面板"OperationPanel",其中有4个radioButtons,其名称为"addBtn,subBtn,divBtn,mulBtn",我有命令按钮,我希望当我点击按钮获取值时选中的radioButton

我应该使用的是什么?我谷歌它发现,如果我做

get(handles.NewValue,'Tag');
Run Code Online (Sandbox Code Playgroud)

我累了但它不起作用!! 我可以帮忙!

Amr*_*mro 12

这是一个快速示例,用于说明如何获取单选按钮组组件的值:

function simpleGUI
    hFig = figure('Visible','off', 'Menu','none', 'Name','Calculator', 'Resize','off', 'Position',[100 100 350 200]);
    movegui(hFig,'center')          %# Move the GUI to the center of the screen

    hBtnGrp = uibuttongroup('Position',[0 0 0.3 1], 'Units','Normalized');
    uicontrol('Style','Radio', 'Parent',hBtnGrp, 'HandleVisibility','off', 'Position',[15 150 70 30], 'String','Add', 'Tag','+')
    uicontrol('Style','Radio', 'Parent',hBtnGrp, 'HandleVisibility','off', 'Position',[15 120 70 30], 'String','Subtract', 'Tag','-')
    uicontrol('Style','Radio', 'Parent',hBtnGrp, 'HandleVisibility','off', 'Position',[15  90 70 30], 'String','Multiply', 'Tag','*')
    uicontrol('Style','Radio', 'Parent',hBtnGrp, 'HandleVisibility','off', 'Position',[15  60 70 30], 'String','Divide', 'Tag','/')

    uicontrol('Style','pushbutton', 'String','Compute', 'Position',[200 50 60 25], 'Callback',{@button_callback})

    hEdit1 = uicontrol('Style','edit', 'Position',[150 150 60 20], 'String','10');
    hEdit2 = uicontrol('Style','edit', 'Position',[250 150 60 20], 'String','20');
    hEdit3 = uicontrol('Style','edit', 'Position',[200  80 60 20], 'String','');

    set(hFig, 'Visible','on')        %# Make the GUI visible

    %# callback function
    function button_callback(src,ev)
        v1 = str2double(get(hEdit1, 'String'));
        v2 = str2double(get(hEdit2, 'String'));
        switch get(get(hBtnGrp,'SelectedObject'),'Tag')
            case '+',  res = v1 + v2;
            case '-',  res = v1 - v2;
            case '*',  res = v1 * v2;
            case '/',  res = v1 / v2;
            otherwise, res = '';
        end
        set(hEdit3, 'String',res)
    end
end
Run Code Online (Sandbox Code Playgroud)

截图

显然你可以在输入数字上添加更多验证等等......

  • 这就是我在上面的例子中所展示的内容.按下按钮后,它从radiobuttons组中检索当前选择,并使用`switch`块(`get(handleRadioGroup,'SelectedObject')`然后检索`String`或`Tag`属性)应用该操作. (2认同)