Matlab中嵌入GUI的waitbar 王清华编写
将waitbar_axes的box设定为on
function pushbutton1_Callback(hObject, eventdata, handles)
global judge k
judge=1; %判断是否需要暂停
axes(handles.waitbar_axes); %指明将选定waitbar_axes对象操作cla reset;%清除轴上所有的对象
xline = [0 1 1 0];
yline = [0 0 1 1];
%画框
l = line(xline,yline,'Color','k','EraseMode','none');
%涂颜色
h=patch([0,1,1,0],[0,0,1,1],'b','EdgeColor','b',...
'EraseMode','none');
set(handles.waitbar_axes,'XTick',[],'YTick',[]);
%清除轴上的刻度
TotalNumber=10000;
%初始,从未运行和完全运行完毕k重新置1
if isempty(k)||(k== TotalNumber)
k=1;
end
for ii=k: TotalNumber
%如果点击暂停,用k记住当时的ii值以便重新开始接着做
if judge==0
k=ii;
return;
end
value=ii/ TotalNumber;
xpatch = [0 value value 0];
set(h,'XData',xpatch);
drawnow;