build a GUI有多种方法,例如使用App Designer,GUIDE或以编程方式创建它(我将在下面说明此选项).了解GUI组件和

options available for sharing data between components的

different ways to define callback functions也很重要.

我偏爱的方法是使用nested functions作为回调.这是一个简单的GUI作为示例:

function make_useless_button()

% Initialize variables and graphics:

iCounter = 0;

hFigure = figure;

hButton = uicontrol('Style', 'pushbutton', 'Parent', hFigure, ...

'String', 'Blah', 'Callback', @increment);

% Nested callback function:

function increment(~, ~)

iCounter = iCounter+1;

disp(iCounter);

end

end

运行此代码时,每次按下按钮时显示的计数器应递增1,因为嵌套函数增量可以访问make_useless_button的工作区,因此可以修改iCounter.请注意,按钮回调设置为function handle以递增,并且此函数默认情况下必须接受两个参数:触发回调的UI组件的图形句柄,以及关联事件数据的结构.我们ignore them with the ~在这种情况下,因为我们没有使用它们.

将上述方法扩展到您的特定问题,您可以添加循环并更改回调,以便将flag变量设置为false:

function make_stop_button()

% Initialize variables and graphics:

keepLooping = true;

hFigure = figure;

hButton = uicontrol('Style', 'pushbutton', 'Parent', hFigure, ...

'String', 'Stop', 'Callback', @stop_fcn);

% Keep looping until the button is pressed:

while keepLooping,

drawnow;

end

% Delete the figure:

delete(hFigure);

% Nested callback function:

function stop_fcn(~, ~)

keepLooping = false;

end

end

这里需要drawnow给按钮回调一个机会来中断循环内的程序流并修改keepLo​​oping的值.

matlab函数画图创建gui,如何在MATLAB中的函数内创建GUI?相关推荐

  1. python中用什么函数读取字符串_如何在Python中获得函数名作为字符串?

    在Python中,如何在不调用函数的情况下以字符串的形式获得函数名? 1 2 3 4def my_function(): pass print get_function_name_as_string( ...

  2. python函数如何结束_如何在Python中结束函数

    我正在修改从CSGO reddit收到的一些代码,使用刚刚发布的游戏状态集成来实现炸弹计时器,我设法使代码与HTTP Post JSON一起工作,如下所示:import time import Sim ...

  3. python中类的创建_如何在python中为类动态创建类方法

    1.基本思想:使用额外的类来保存方法 我找到了一种有意义的工作方式: 首先,我们定义这样的BaseClass: class MethodPatcher: @classmethod def patch( ...

  4. 如何在Leangoo中,为企业创建项目

    Leangoo(中文名:领歌)是一款基于看板的项目协作工具. 我们可以使用 Leangoo 可视化地进行项目需求.任务.问题和文档的管理和协作,随时随地跟踪团队工作进展.Leangoo 工具的设计融入 ...

  5. 如何用java创建超链接_Java如何在PPT中的幻灯片上创建超链接?

    在Java编程中,如何在PPT中的幻灯片上创建超链接? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新 ...

  6. thinkphp中如何使用PHP函数,如何在ThinkPHP中使用函数进行回调

    如何在ThinkPHP中使用函数进行回调 发布时间:2020-12-23 15:11:45 来源:亿速云 阅读:85 作者:Leah 本篇文章为大家展示了如何在ThinkPHP中使用函数进行回调,内容 ...

  7. Python如何在main中调用函数内的函数

    Python如何在main中调用函数内的函数 一般在Python中在函数中定义的函数是不能直接调用的,但是如果要用的话怎么办呢? 一般情况下: def a():#第一层函数def b():#第二层函数 ...

  8. html怎么设置凹陷效果,如何在css中实现圆角内凹效果

    如何在css中实现圆角内凹效果 发布时间:2020-07-22 09:22:57 来源:亿速云 阅读:122 作者:Leah 这期内容当中小编将会给大家带来有关如何在css中实现圆角内凹效果,文章内容 ...

  9. keyshot场景素材导入_KeyShot渲染操作技巧,教你如何在KeyShot中链接场景内材质

    KeyShot渲染操作技巧,教你如何在KeyShot中链接场景内材质 在KeyShot渲染中,材质的添加和使用是一项非常重要的渲染操作,这些操作关系着模型渲染的逼真程度,在我们实际渲染项目中肯定会更加 ...

最新文章

  1. BUTTON标签和INPUT标签的区别【转】
  2. r语言 回归分析 分类变量_R语言下的PSM分析分类变量处理与分析步骤
  3. java urlrewrite_Java|urlrewrite|URL重写|多个参数
  4. lol更新显示正在连接服务器,wegame更新游戏显示正在连接服务器
  5. 在龙芯3A3000中标麒麟7.0环境下编译golang1.14.1源码
  6. X1000对于音频播放控制部分的翻译
  7. jvm内存模型(jdk1.8)
  8. iso8583 协议详解
  9. 一款开源的协作文本编辑器
  10. vue.js 回显textarea入的空格和换行
  11. matlab 群延迟,实现最小相位群延迟的音节切分算法的一些问题
  12. 关于MS edge出现STATUS_STACK_BUFFER_OVERRUN的解决方法
  13. 文案是否有违禁词查询
  14. [原创]也谈WINDOWS下分区类型变为RAW
  15. java程序员面试题之32问
  16. openlayers3.20.1发布说明
  17. human3.6源文件处理 简单解析
  18. 如何使用Ubuntu Live CD进行无痕浏览
  19. 2011移动开发者大会亮点之一:六大精彩主题论坛抢鲜看
  20. wordpress表单数据验证_手拉手搭建 lnmp 环境及安装 wordpress

热门文章

  1. Spring MVC 概述
  2. 常用系统分析监控工具
  3. 动态规划1--最长公共子序列
  4. php访问mysql工具类
  5. 转载:QTableView中嵌入可视化组件
  6. scala 学习笔记(07) 一等公民的函数
  7. MySQL模拟:线上误update的恢复
  8. puppet最新源码包安装学习笔记
  9. 在Visual Studio中调试samples中可能出现的错误
  10. java自学难点_java学习重难点