Radio buttons in GUI

9 Ansichten (letzte 30 Tage)
Michael Adelman
Michael Adelman am 10 Jul. 2012
Kommentiert: Andy am 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 Kommentar
Andy
Andy am 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/

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 10 Jul. 2012
Bearbeitet: John Kelly am 26 Feb. 2015

Weitere Antworten (3)

Jan
Jan am 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 am 10 Jul. 2012
Thank you, very helpful.

Michael Adelman
Michael Adelman am 10 Jul. 2012
Bearbeitet: Michael Adelman am 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 Kommentare
Michael Adelman
Michael Adelman am 11 Jul. 2012
thank you.
Jan
Jan am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by