MATLABappdesigner菜鸟进阶学习(⼆)
气泵接头
在编写APP时,有时候会发现程序需要执⾏较长⼀段时间,⽽这段时间界⾯如果没有任何变化,会影响交互性。因此,进度对话框的存在是界⾯⼈性化设计的重要⼀步。
函数语句:
d = uiprogressdlg(app.UIFigure,'Title','Approximating Pi',... 'Message','1','Cancelable','on');
% Close the dialog box
close(d);
d = uiprogressdlg(app.UIFigure,'Title','Approximating Pi',... 'Message','1','Cancelable','on');
这个语句中,Title是指对话框的标题,如图,标题内容为“Please wait”;Message是指对话框进度条的提⽰消息,如下图的“数据处理中”,
电容手套
Cancelable是指是否允许取消,允许取消,指定为 'off' 或 'on'。 值为 'on' 表⽰在对话框中显⽰取消按钮。可以通过指定 CancelText 属性来⾃定义按钮标签。 当允许取消时,必须检查 CancelRequested 属性的值,并在值为 true 时调⽤ close 函数。否则,对话框将⽆限期显⽰。(后⾯讲会提及) 在进度结束后关闭对话框的⽅式为:close(d);
下⾯针对不同的应⽤场景,介绍三种进度条
确定进度条即如下图所⽰,可实时反映进程的进度条。
镭射贴d = uiprogressdlg(app.UIFigure,) 使⽤ Name,Valu
e 对组参数指定 ProgressDialog 属性值。可通过属性值控制对话框的外观和⾏为。例如,您可以在对话框中添加标题或消息,或者指定不确定进度条。
例如:
function plot1ButtonPushed(app, event)
n=100;
s=0:app.L1/n:app.L1;
j=n/2;
q=0:app.dQ:app.Q;
m=length(q);
cla(app.qlUIAxes)
融合拼接hold(app.qlUIAxes,'on');
z=0;
z0=1/m;
for i=q
d=uiprogressdlg(app.UIFigure,'Title','Please Wait',...
'Message','数据处理中','value',z);
xishu(app,i,app.L1,s,j);
z=z+z0;
end
close(d);
为了使得进度随计算过程实时显⽰,可以直接将
d=uiprogressdlg(app.UIFigure,'Title','Please Wait',...
'Message','数据处理中','value',z);
放⼊计算的循环中,并使value值随之变动。雨水弃流井
value 值为0时,进度条为空,为1时,进度条为满,故⽽将value值设为1/循环次数,每循环⼀次叠加⼀次,从⽽实时显⽰。
2.不确定进度条
不确定进度条即如下图所⽰,以动画⽅式显⽰的进度条,指⽰不知道预计完成时间。
不确定性进度条的设置为
d = uiprogressdlg(app.UIFigure,'Title','Computing SVD',... 'Indeterminate','on');
其他内容同上,要注意的是Indeterminate属性,将 Indeterminate 属性设置为 'on' 将以动画⽅式显⽰进度条,指⽰不知道预计完成时间。计算完成后,将由 close函数关闭对话框
3.带有取消按钮的确定进度条
带有取消按钮的确定进度条即如下图所⽰,可实时反映进程的进度条,也可以直接取消
语句为97ssee
d = uiprogressdlg(app.UIFigure,'Title','Approximating Pi',... 'Message','1','Cancelable','on');
其中,执⾏取消功能的是将 Cancelable 属性设置为 'on' 将创建默认标签为取消的取消按钮。
另外,取消功能在执⾏时需要⽤if break语句,以便在按下取消后及时退出
if d.CancelRequested
break
end
该命令实时检查 d.CancelRequested 的值,以查看⽤户是否点击了取消按钮。如果该值为 true,则程序退出循环。最后,在计算结束或⽤户取消后,由 close(d) 命令关闭对话框。