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

MATLABappdesigner菜鸟进阶学习(三)

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

  在app设计中,确认对话框是不可缺少的存在,如关闭app前的提醒、修改参数之后的提醒,可以规避在操作过程中的失误,从而避免数据等的丢失

3.1 创建对话框语法

uiconfirm(f,message,title)
uiconfirm(f,message,title,Name,Value)
selection = uiconfirm(___)

  其中,uiconfirm(f,message,title) 在目标图窗 f 中显示一个 App 内模态确认对话框。此语法显示供用户选择的两个选项 OK 和 Cancel。显示该对话框时,对话框后面的图窗不可访问,但可以访问 MATLAB® 命令提示。

Cancel。

selection 输出参数。如果使用此语法,显示对话框时 MATLAB 命令提示将不可访问。

  message:要显示的消息,指定为字符向量、字符向量元胞数组或字符串数组。当消息有多行文本时,指定元胞数组或字符串数组。数组中的每个元素对应于一行文本。

  title:对话框标题,指定为字符向量或字符串标量。

  指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

3.2 详述

  根据不同的应用场景,对话框的个性化设计分别为下述几种

3.2.1 指定不同的图标 

selection = uiconfirm(app.UIFigure,'Close document?','Confirm Close',...
                        'Icon','warning');

  

  当你点击ok后,uiconfirm 将以字符向量形式返回该选项,即返回“ok”。

  其中,系统预定义图标的类型包括:

 

 同时可以自定义图标,可将自定义图标指定为下列值之一:

  • 字符向量,指定 MATLAB 路径中的 SVG、JPEG、GIF 或 PNG 图像的文件名。也可以指定图像文件的完整路径。

  • 真彩色图像数组

指定自定义选项

  例:创建一个确认对话框,其中包含三个选项:Overwrite、Save as new 和 Cancel。指定 Save as new 作为默认选项,并指定 Cancel 作为与取消行为对应的选项。

msg = 'Saving these changes will overwrite previous changes.';
title = 'Confirm Save';
selection = uiconfirm(f,msg,title,...
           'Options',{'Overwrite','Save as new','Cancel'},...
           'DefaultOption',2,'CancelOption',3);

 

  Options: 自定义选项,指定为字符向量元胞数组或字符串数组。

  DefaultOption:默认选项,指定为字符向量、字符串标量或整数。默认选项对应于对话框中默认情况下获得焦点的按钮。

  指定字符向量或字符串标量时,它必须与 Options 数组中的某个元素匹配。但是,如果调用没有 Options 参数的 uiconfirm,则 DefaultOption 必须是 'OK' 或 'Cancel'

  如果指定整数,则它必须在 [1, n] 范围内,其中 n 是 Options 数组的长度。如果调用没有 Options 参数的 uiconfirm,则 DefaultOption 必须是 1 或 2

  'CancelOption' :取消选项,指定为字符向量、字符串标量或整数。取消选项指定与对话框中的取消操作对应的选项。

当指定字符向量或字符串标量时,它必须与 Options 数组中的某个元素匹配。但是,如果调用没有 Options 参数的 uiconfirm,则 CancelOption 必须是 'OK' 或 'Cancel'

  如果指定整数,则它必须在 [1, n] 范围内,其中 n 是 Options 数组的长度。如果调用没有 Options 参数的 uiconfirm,则 CancelOption 必须是 1 或 2

CloseFcn 回调

  CloseFcn 名称-值对组参数可用于在对话框关闭时执行特定的任务。在 App 设计工具中定义 CloseFcn 回调在 App 设计工具中以私有函数的形式编写该回调。

首先选择代码视图。然后选择函数 > 私有函数,以创建私有函数。接下来,编写私有函数:

function mycallback(app,src,event)
   display(event.SelectedOption);
end

  将该命令添加到要显示对话框的回调函数中。在本例中,目标图窗为 app.UIFigure,这是图窗在 App 设计工具中的默认名称。

uiconfirm(app.UIFigure,'Close document?','Confirm Close',...
            'CloseFcn',@(src,event)mycallback(app,src,event));

  当用户触发创建对话框的回调时,对话框将显示在 App 中。

 

  关闭操作回调函数,指定为下列值之一:

 

  • 函数句柄。

  • 第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。

  • 包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。

 

  此回调可用于在对话框关闭时执行特定的任务。

 

  如果将 CloseFcn 指定为函数句柄(或包含函数句柄的元胞数组),则 MATLAB 会将包含事件数据的 struct 作为输入参数传递给回调函数。此 struct 包含下表中介绍的字段。

 

 

3.3 示例演示

 

function plot1ButtonPushed(app, event)
        selection=uiconfirm(app.UIFigure,'请查看数据的单位是否正确','确认对话框');  
        if selection=="确定"
          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);
        end

  


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
delphi的可执行文件(EXE)可以这样更新后重启发布时间:2022-07-18
下一篇:
Delphi中使用GDI+进行绘图(2)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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