problem with waitbar cancel button
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
All,
I'm encountering a little problem with a cancel button on a waitbar. I can get the Matlab example in the help file to work perfectly, although for some reason when I try it in my code, it does not seem to acknowledge the callback for the cancel button. Heres what I have:
hWaitBar = waitbar(0, '',...
'Name', 'LOADING IMAGES - PLEASE WAIT...',...
'CreateCancelBtn','setappdata(gcbf,''Canceling'',1)');
setappdata(hWaitBar,'Canceling',0)
for i=3:size(filelist,1)
%do stuff here
getappdata(hWaitBar,'Canceling')
% Check for Cancel button press
ch = getappdata(hWaitBar, 'Canceling')
if getappdata(hWaitBar,'Canceling') ==1
break
end
waitbar(i/size(filelist,1),hWaitBar)
end
delete(hWaitBar)
The check command 'getappdata(hWaitBar,'Canceling')' inside the loop never returns the value of 1, which it should do from the callback defined in hWaitBar.
The only difference I can think of between the matlab example and my code is that all my above code is located in a set if-else loops (4 deep). Would this be responsible?
Thanks
Jim
0 Kommentare
Antworten (2)
Walter Roberson
am 5 Okt. 2012
Try adding a drawnow() call inside the loop, so that the callback of canceling the waitbar will have a chance to run.
Alexander Kosenkov
am 30 Mai 2016
The currently running function must be started from a button/menu, where Interruptible is set to 'on'. Otherwise, currently running calculation (the one that opened the progress bar) can not be interrupted even to set 'Canceling' to 1.
1 Kommentar
Siehe auch
Kategorien
Mehr zu Dialog Boxes 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!