zoukankan      html  css  js  c++  java
  • MATLAB app designer 菜鸟进阶学习(二)

      

    创建进度对话框

      在编写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.UIFigure,Name,Value) 使用 Name,Value 对组参数指定 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.带有取消按钮的确定进度条

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

       语句为

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

  • 相关阅读:
    C#设计模式——抽象工厂模式(原文转自:http://blog.jobbole.com/78059/)
    WebConfig配置文件详解(转载自逆心的博客)
    ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)
    ASP.NET RepeatLayout 属性
    牛顿迭代法
    汉诺塔(整理)
    游戏引擎---好牛(转)
    字符串相关面试题(整理)
    有关java调用批处理文件
    有关java 8
  • 原文地址:https://www.cnblogs.com/Sonny-xby/p/12618176.html
Copyright © 2011-2022 走看看