Hey everyone,
I need to stop a while loop using a 'Stop' button in a GUI and i was wondering what are the best ways of doing that.

 채택된 답변

Jan
Jan 2013년 1월 24일
편집: Jan 2013년 1월 24일

2 개 추천

A short example:
h = uicontrol('Style', 'PuchButton', 'String', 'Stop', ...
'Callback', 'delete(gcbo)');
while ishandle(h)
disp(datestr(now, 0));
pause(0.25);
end
Check out the famous 41 GUI example.

댓글 수: 2

Raldi
Raldi 2013년 1월 24일
Ill go with this answer as i already have created a pushbutton. Will there be a problem if the pushbutton is created in another function and i just use findobj or something similar?
Jan
Jan 2013년 1월 24일
On one hand: no, you can create the button anywhere and use any method to obtain the handle. On the other hand: simply try it - when you do not have problems, it works.

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

추가 답변 (2개)

Sean de Wolski
Sean de Wolski 2013년 1월 24일

0 개 추천

Have the while-loop check if a togglebutton uicontrol has been pushed (i.e. what is it's value). If it has the loop will end
while(get(handles.togglebutton,'value')); %handles.togglebutton is handle to button
do_stuff;
drawnow; %force event queue update
end

카테고리

도움말 센터File Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

제품

질문:

2013년 1월 24일

답변:

2014년 9월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by