Can I force a radio button group to initialize with a certain button selected?

8 Ansichten (letzte 30 Tage)
As the question says, I want a particular button selected every time the radio button group is initialized. Can I "set()" this somehow?

Akzeptierte Antwort

Matt Fig
Matt Fig am 14 Aug. 2012
Bearbeitet: Matt Fig am 14 Aug. 2012
Have a look at the selectedobject property.
h = uibuttongroup('Pos',[0 0 .2 1]);
u0 = uicontrol(h,'Style','Radio','String','Option 1',...
'pos',[10 350 100 30]);
u1 = uicontrol(h,'Style','Radio','String','Option 2',...
'pos',[10 250 100 30]);
u2 = uicontrol(h,'Style','Radio','String','Option 3',...
'pos',[10 150 100 30]);
set(h,'SelectedObject',u2); % Set the object.
.
.
.
If you are using GUIDE, simply put this code at the end of the GUI OpeningFcn. For example, if you GUI is called mygui, then look for mygui_OpeningFcn.
% Use the correct names, for the objects, of course...
set(handles.uipanel3,'selectedobject',handles.radiobutton3)

Weitere Antworten (2)

Justin
Justin am 14 Aug. 2012
First alternative is to use GUIDE. This will allow you to set a specific radio button to "selected" everytime the GUI initializes. To do this, open the "Property Inspector" for the radio button and change its "Value" to 1.
Second alternative is to do it programatically. In your code, wherever you initialize the button-group, execute the following line:
>> set(handles.radioTag,'Value','max');
Where, "radioTag" is whatever tag you assigned to your desired radio button when making the gui.
  7 Kommentare
Justin
Justin am 14 Aug. 2012
Bearbeitet: Justin am 14 Aug. 2012
Here's where I ask for a sample of your code...
But, without seeing a sample, I would suggest you simply enter the line of code I wrote above immediately after the code that "calls" your radio-button group.
EDIT: Use the following line. >> set(handles.radioTag,'Value',1);
Matlab button groups are smart enough to change the other buttons to 0 when a single button is set to 1.

Melden Sie sich an, um zu kommentieren.


Sean de Wolski
Sean de Wolski am 14 Aug. 2012
Of course.
ug = uibuttongroup;
h(1) = uicontrol('style','radio','parent',ug,'position',[50 50 50 10],'value',true,'string','I''m on');
h(2) = uicontrol('style','radio','parent',ug,'position',[20 50 10 10],'value',false);

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by