进度条的调用格式为:h = waitbar(x, 'title', '后面可以加属性,和GUI一样');
X是分数到1的时候为百分之百,x = a/b;
使用get(h);,或者get(waitbar(x, 'title'));可以查看进度条的属性。
常用到的属性有’WindowStyle’默认为 normal,可以改成’modal’设置进度条已知在屏幕前面,小tips:如果程序在调试的时候,最好不要设置成modal因为这样程序出错不会跳转,无法继续调试(不过应该用不上吧,谁调试的时候不关waitbar么。循环很难调的)。
H =waitbar(0,'plot','windowstyle','modal');
t =0:0.01;
t =0:0.01:pi;%pi是π
fori = 1:10
plot(t,sin(2*pi*i*t));
waitbar(i/10,H,’done’);
pause(1);
end
以上程序动态第绘出频率1到10依次变化的正弦波曲线,进度条的改变需要改变前面说的x值,然后进度条会随着改变,一般用在循环中,或者自己知道时间而手动改变进度条。
在使用进度条还有一个特别重要的地方就是增加取消按钮,因为很多时候想要停止程序,但是叉掉进度条是停不了的,这样很浪费时间,所以最好设置一个取消按钮。
设置一个取消按钮,就相当于在gui上设计一个button然后执行回调函数。=
iscancel = false;
h =waitbar(0,'wait...','name','test','createcancelbtn','iscancel = true;');
for i = 1:10
waitbar(i/10,h,'done');
pause(1);
if iscancel
delete(h);
break;
end
end
上面的程序增加了一个createcancelbtn是一个默认的取消按钮,后面是他的call back 函数,在执行的时候,点击取消,会执行call back 函数,使得if成立。