文章同步更新于我的微信公众号“靠谱光学”
前言
要编写一个完整的app,在app之间传递数据必不可少,比如实现右键属性,弹出属性菜单(注这个功能在最新几次更新才出现,老版本没有),这样app可以更简洁实现更多功能。
操作过程
以Matlab自带例子来说明如何在app之间传递数据
首先打开例子,如下:
首先运行一下这个示例:
接下来看代码部分
实现原理:
Matlab appdesigner里实现app之间数据传递其实非常简单,我们知道每个app就是一个对象,app之间传递数据就是对象之间传递数据,只不过这个对象是matlab定义的app类。所以对对象的操作方法都适用,只需在主app和副app中都建立一个属性,这个属性分别用来存放副app和主app即可。
具体操作方法:
1. 在主app中建立一个属性DialogApp,这个变量就是用来存放副app的,副app中所有属性和方法都可以直接调用;
2. 在副app中建立一个属性CallingApp,这个变量就是用来存放主app的,主app中所有属性和方法都可以直接调用;
3. 建立连接,在app类中有个特殊的方法就是StartupFcn,该方法的作用就是伴随着app启动就会执行该方法下面的代码;同时也可以作为构造函数来用,这里就是作为构造函数。传入了mainapp即主app,sz看主app得知即CurrentSize,c即CurrentColormap。
说明:startupfcn方法添加在左侧浏览器的绿色加号,输入参数设置是右键startupfcn函数
4. 在主app中的回调函数打开副app即完成数据传递,如下:
这样就实现了app之间的数据传递。
本人专业光学设计工作者,业余Matlab爱好者,感兴趣的朋友可以关注我的微信公众号“靠谱光学”,分享靠谱知识。
下一篇