Radio buttons in GUI

20 views (last 30 days)
Michael Adelman
Michael Adelman on 10 Jul 2012
Commented: Andy on 18 Apr 2015
HI,
I have two radio buttons in GUI. I want to make that only one button can be pressed at a time. what is the best way do it?
thanks,
  1 Comment
Andy
Andy on 18 Apr 2015
A Button Group panel is the best way make button selections exclusive. Here is a tutorial on how to do it: https://codemusician.wordpress.com/2013/03/15/gui-tutorial-how-to-create-and-use-radio-button-groups-in-matlab/

Sign in to comment.

Accepted Answer

Honglei Chen
Honglei Chen on 10 Jul 2012
Edited: John Kelly on 26 Feb 2015

More Answers (3)

Jan
Jan on 10 Jul 2012
I prefer to control this manually:
handles.FigureH = figure;
handles.radio(1) = uicontrol('Style', 'radiobutton', ...
'Callback', @myRadio, ...
'Units', 'pixels', ...
'Position', [10, 10, 80, 22], ...
'String', 'radio 1', ...
'Value', 1);
handles.radio(2) = uicontrol('Style', 'radiobutton', ...
'Callback', @myRadio, ...
'Units', 'pixels', ...
'Position', [10, 40, 80, 22], ...
'String', 'radio 2', ...
'Value', 0);
...
guidata(handles.FigureH, handles);
And the callback:
function myRadio(RadioH, EventData)
handles = guidata(RadioH);
otherRadio = handles.radio(handles.radio ~= RadioH);
set(otherRadio, 'Value', 0);

Michael Adelman
Michael Adelman on 10 Jul 2012
Thank you, very helpful.

Michael Adelman
Michael Adelman on 10 Jul 2012
Edited: Michael Adelman on 10 Jul 2012
I created uibuttongroup following your suggestions as follows:
% Create the button group. h = uibuttongroup('visible','off', 'Units', 'pixels','Position',[100 717 301 151]); handles.h = h; % Create three radio buttons in the button group. u0 = uicontrol('Style','Radio','String','Analog_Input',... 'pos',[19 75 137 52],'parent',h,'HandleVisibility','off'); u1 = uicontrol('Style','Radio','String','Function_input',... 'pos',[19 31 131 57],'parent',h,'HandleVisibility','off');
% Initialize some button group properties.
set(h,'SelectedObject',[]); % No selection set(h,'Visible','on');
I don't have any Callback. And it doesn't work - any suggestion where the problem might be?
by saying doesn't work, I get multiple selection.
  3 Comments
Michael Adelman
Michael Adelman on 11 Jul 2012
thank you.
Jan
Jan on 11 Jul 2012
@Micheal: Please read the instructions for formatting code in this forum. E.g. the "About Matlab Answers" would be a good point to start from.

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!