I have a function running when I push a button in a GUI. I want to end this function when I press another button. example:
function first_callback (hObject, eventdata, handles)
a = b + c
while...
...
...
...
end
end
function stopbuttonback_callback (hObject, eventdata, handles)
%something that stops function first_callback
end

 采纳的回答

function first_callback (hObject, eventdata, handles)
a = b + c
set(handles.stopbutton, 'UserData', false);
while true
drawnow();
if get(stopbutton, 'UserData'); break; end
...
...
...
end
end
function stopbuttonback_callback (hObject, eventdata, handles)
set(hObject, 'UserData', true);
end

3 个评论

Thank you so much!!!!
Dont know why but when I write the "while true" the function stopbuttonback_callback doesn't work... let me give you the all code:
function start_Callback(hObject, eventdata, handles)
a = 0;
while a < 100
b = datestr(a/(24*60*60),'HH:MM:SS');
set(handles.time,'String',b);
a = a + 1;
pause(1)
end
function stop_Callback(hObject, eventdata, handles)
set(handles.time,'String','00:00:00');
function start_Callback(hObject, eventdata, handles)
a = 0;
set(handles.stop, 'UserData', false);
while a < 100
pause(1); %pause works as well as drawnow() to allow interrupts
if get(handles.stop, 'UserData'); break; end
b = datestr(a/(24*60*60),'HH:MM:SS');
set(handles.time,'String',b);
a = a + 1;
end
function stop_Callback(hObject, eventdata, handles)
set(handles.time,'String','00:00:00');
set(hObject, 'UserData', true);

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by