[MATLAB App Designer] 多窗口 App 中的交互(含数据传递)

本文详细讲解了MATLAB App Designer中如何创建多窗口应用,包括登录界面的实现、数据删除确认对话框、以及数据添加功能的传递。涉及无数据传递的确认对话框和有数据传递的表单输入操作。

以下均为自己的学习总结,有不对的地方,或者有更便捷的方法欢迎指正。
关于这部分的官方文档如下:

https://ww2.mathworks.cn/help/matlab/creating_guis/multiwindow-app-gui-in-app-designer.html

前言

多窗口之间的交互可大致分为两种
(1)不对主App进行改变
这一类简单来说就是不对主app进行任何改变,其功能只有打开一个新的窗口。应用场景比如平时经常遇到的登录界面,点击登录进入另一个窗口。
(2)对主App中进行某种改变
相反,这一类是通过一个或多个新的窗口,来对主app中进行某种改变。
改变也可以分为两类
1)无数据传递。比如删除等操作行为的确认对话框,点击确认则删除指定行的数据。不需要在另一个app中输入参数,传回主App。
2)有数据传递。比如为为主app中的表添加一行数据,这一行数据通过一个新的窗口进行输入。

1 不对主App进行改变

这一类很简单,以登录界面为例,只要在登录按钮的回调函数中,编写运行另一个窗口app的代码即可。
比如登录界面如下:

主程序app所保存的名称为 mainApp.mlapp
在登录窗口中编写登录按钮回调函数
在这里插入图片描述
此时通过点击登录按钮可以打开主界面程序,但是登录界面仍然存在。我们需要的效果是点击完登录后,登录界面消失,主界面弹出。因此在运行另一个窗口前,删除登录界面。
在这里插入图片描述

2 对主App中进行某种改变

2.1 无数据传递,返回一个行为

比如在对主程序中的数据进行删除时,弹出确认删除对话框。如确认则删除,取消则不删除。
举个栗子,要删除UITable中的某一行(如何实现见这篇文章),但在按下“Delete”键后,需要向用户确认是否删除。点击确认删除,否则不进行提醒窗口消失,不进行任何操作。
在这里插入图片描述
(1)创建提醒对话框App,此处另存为 DeleteApp.mlapp
(2)在对话框App中添加属性,存储主程序对象

评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值