Change pushbutton text in a GUI

조회 수: 22 (최근 30일)
Daniel LaCroix
Daniel LaCroix 2015년 11월 19일
댓글: Daniel LaCroix 2015년 11월 19일
I'm trying to make a GUI with two pushbuttons. After one button is pushed, I want to change the text on both pushbuttons. I've figured out how to change the text on the pushbutton that was clicked, but not the other one. This is my code:
function rainbow
r1=uicontrol('Style',...
'pushbutton',...
'String','Option 1',...
'Position',[10 350 100 30],...
'HandleVisibility','on',...
'Callback',@pushbutton_Callback);
r2=uicontrol('Style','pushbutton',...
'String','Option 2',...
'Position',[10 250 100 30],...
'HandleVisibility','on',...
'Callback',@pushbutton_Callback);
end
function pushbutton_Callback(hObject,callbackdata,handles)
disp(hObject.String)
hObject.String='Option 3';
end
I tried putting handles.r1.String='Option 4' within the callback, but that didn't do anything.

채택된 답변

Michael Mancinelli
Michael Mancinelli 2015년 11월 19일
First you should Tag your ui-buttons, so you can reference them within the guidata. Second you call pull the gui handles from within the callback.
See below:
function rainbow
clf;
r1=uicontrol('Style',...
'pushbutton',...
'String','Option 1',...
'Position',[10 350 100 30],...
'HandleVisibility','on',...
'Tag','Button1',...
'Callback',@pushbutton_Callback);
r2=uicontrol('Style','pushbutton',...
'String','Option 2',...
'Position',[10 250 100 30],...
'HandleVisibility','on',...
'Tag','Button2',...
'Callback',@pushbutton_Callback);
end
function pushbutton_Callback(hObject,callbackdata)
disp(hObject.String)
handles = guihandles(hObject);
handles.Button1.String = 'Button 1 string after any click';
handles.Button2.String = 'Button 2 string after any click';
end
  댓글 수: 1
Daniel LaCroix
Daniel LaCroix 2015년 11월 19일
Thanks, the tags were exactly what I was looking for.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Dialog Boxes에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by