• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLABappdesigner菜鸟进阶学习(二)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  

  在编写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);


  下面针对不同的应用场景,介绍三种进度条

1.确定进度条

  确定进度条即如下图所示,可实时反映进程的进度条。

 

   d = uiprogressdlg(app.UIFigureProgressDialog 属性值。可通过属性值控制对话框的外观和行为。例如,您可以在对话框中添加标题或消息,或者指定不确定进度条。

例如:

 

 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.带有取消按钮的确定进度条

  带有取消按钮的确定进度条即如下图所示,可实时反映进程的进度条,也可以直接取消

   语句为

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) 命令关闭对话框。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap