how to change default radiobutton ?
조회 수: 32 (최근 30일)
이전 댓글 표시
i have two radio button like in this image.
but, if i load the gui, and i choose the option 1 ( bwareopen ) it doesn't work. I must choose option 2 ( opening ) first, and then i choose option two ( opening ) if I want to proceed with option 1. How to fix it ? How to change default radio button ?? thanks
댓글 수: 2
채택된 답변
Walter Roberson
2016년 6월 16일
uibuttongroup always have one of the buttons selected. It is not possible to put a uibuttongroup into a state of not having any of the buttons selected.
What you can do is add a third button to the group whose Visible property is set 'off', and set up the uibuttongroup so that the third (invisible) button is the one initially selected. Neither of the two visible buttons will be selected if you do this, so you would be able to select the first button and have it generate the callback immediately.
댓글 수: 2
추가 답변 (2개)
Image Analyst
2016년 5월 6일
I don't know exactly what "it doesn't work" means. Were you expecting the state of the radio button to toggle? Were you expecting to have a callback function run automatically?
To set the default button to be selected, set the "Value" property of the button, in GUIDE, to be 1. The others in that button group will be set to zero and that one will be the one that's selected when your GUI launches.
댓글 수: 9
Image Analyst
2016년 5월 10일
The same prepo_SelectionChangeFcn() gets executed no matter which one you click on. Set a breakpoint in it and then run your GUI. Then click on radio button 1 and see if it goes into the prepo_SelectionChangeFcn() function. Then again when you click on radioobutton2, and then again when you click on radiobutton1 again. When does it stop at the breakpoint? It should stop there all three times. If not, attach your m-file and fig-file so i can try it.
Stalin Samuel
2016년 5월 6일
*Example code*
function my
handles.FigureH = figure;
handles.radio(1) = uicontrol('Style', 'radiobutton', ...
'Callback', @myRadio, ...
'Units', 'pixels', ...
'Position', [10, 10, 110, 22], ...
'String', 'Bwareaopen', ...
'Value', 1);
handles.radio(2) = uicontrol('Style', 'radiobutton', ...
'Callback', @myRadio, ...
'Units', 'pixels', ...
'Position', [10, 40, 80, 22], ...
'String', 'opening', ...
'Value', 0);
...
guidata(handles.FigureH, handles);
function myRadio(RadioH, EventData)
handles = guidata(RadioH);
otherRadio = handles.radio(handles.radio ~= RadioH);
set(otherRadio, 'Value', 0);
참고 항목
카테고리
Help Center 및 File Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!