Matlab GUI的数据传递——运用GUI本身的varargin和varargout传递参数

1.GUI数据传递指的是GUI各控件之间以及不用的GUI之间,这种方式只适用于GUI与GUI之间的数据传递。

2.关于varargin与varargout的概念

varargin是存储输入参数的可变长cell型数组;

varargout是存储输出参数的可变长cell型数组。

是matlab的输入输出参数数目可变的一种编程模式。

3.通常当我们使用varargin与varargout进行gui间数据传递的时候,利用guidata读取varargin和varargout数据并保存的,即

1.输入参数的设置
%例如当我们需要进行主子结构的GUI数据传递的时候,假设GUI和其子GUI之间进行数据传递。
%其中GUI是主GUI,subGUI是子GUI,其中设想输入输出的参数为
[out1,out2]=subGUI(in1,in2)
%通常在使用GUI设计subGUI时,在其本身m文件中第一行是这种形式
function varargout=subGUI(varargin)
%该行不用做任何修改。之后利用guidata进行数据保存
handles.in1=varargin{1};
handles.in2=varargin{2};
guidata(hObject,handles);2.输出参数的设置
%在主GUI的Openingfun函数中添加如下代码
[out1 out2]=subGUI(in1,in2)%用于调用子GUI
uiwait(handles.figure1);&figure1是subGUI的tag,为了等待调用子gui的过程,从而获得子gui的输出参数out1和out2.

4.一些说明

在MATLAB GUI中,数据分两种:GUI dataapplication data。 两种数据的存取机制是相同的,但是GUI data使用起来比较方便。
每一个GUI 图形界面都维持一个和自己的界面的图形(figure)相联系的一个handles数据结构,这个数据结构中容纳图形界面内所有控件(按钮、列表框、编辑框等)的句柄,相当于一个大的“容器”,里面存放了figure内所有控件的句柄。同时,handles结构也可以被figure内所有控件的回调函数访问,因为回调函数的输入参数中都有handles结构。此外,在控件的回调函数内可以把数据存储到handles结构中。
handles结构数据的取得和存储是通过guidata函数来实现的。
例如:在编辑框edit的回调函数内想获得编辑框的句柄,hObject可以,也可以用handles.edit,这两个值是一样的,没有区别,只不过获得控件句柄的方式不同而已:hObject是调用回调函数时直接传过来的,handles.edit是从handles结构中取得的。但是,在控件的CreateFcn函数中如果想访问控件,必须用hObject,而不能用handles.edit,因为这时控件还没被创建,其句柄还没有加入到handles结构中。

Matlab GUI的数据传递——运用GUI本身的varargin和varargout传递参数相关推荐

  1. Matlab GUI与GUI间数据传递实现

    Matlab GUI与GUI间数据传递实现 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.ne ...

  2. 基于MATLAB的小波变换数字图像水印系统GUI设计与实现

    摘 要 通过对数字水印的原理和算法的分析,了解信息隐藏的实现手段与效果.在信息加载和提取过程中,突破传统的加密技术,用更具专业性的检测手段来保护专属的信息产权.本文利用了水印良好的鲁棒性和不可感知性, ...

  3. MATLAB中文论坛帖子整理(GUI)(一)

    目   录 1.GUI新手之--教你读懂GUI的M文件... 10 2.GUI程序中改变current directory引起的问题... 15 3.GUI中h0bject和handles 的区别.. ...

  4. 基于matlab的自动人脸识别系统GUI设计

    基于matlab的自动人脸识别系统GUI设计 之前做的一个课设项目半成品,一边网上找资料一边自己瞎捣鼓,完成了GUI界面的设计,实时视频中的人脸检测和追踪,PCA算法训练,单张人脸识别.但是识别率比较 ...

  5. 基于matlab的人脸考勤系统,gui界面,界面简洁,实现实时打卡考勤

    基于matlab的人脸考勤系统,gui界面,界面简洁,实现实时打卡考勤,正确率高. 涉及图像处理,特征提取,数据降维,机器学习训练,支持把新照片新录入系统. ID:69400663195853731

  6. MATLAB智慧车库计时计费系统GUI设计

    基于MATLAB的智慧停车场计时计费项目 一.课题介绍 随着汽车数量的增加,城市交通状况日益受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点.智能交通系统通过车辆检测装置对过往的车辆实施 ...

  7. Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表、修改表,以及增、删、改、查)之详细攻略

    Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表.修改表,以及增.删.改.查)之详细攻略 目录 一.两种方法建立表.修改表,插入多条数据记录 ...

  8. Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)

    Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...

  9. 新书《Python Qt GUI与数据可视化编程》

    经过一年多写作和出版社的编辑加工,我的第二本书<Python Qt GUI与数据可视化编程>马上就正式上架了,敬请关注. 本书介绍在Python中使用PyQt5和其他模块进行GUI和数据可 ...

  10. pythongui可视化编程_Python Qt GUI与数据可视化编程

    商品参数 Python Qt GUI与数据可视化编程 定价 99.00 出版社 人民邮电出版社 版次 dy 版 出版时间 2019年09月 开本 16 作者 王维波 等 装帧 平装 页数 488 字数 ...

最新文章

  1. 剑指offer-链表中倒数第K个结点
  2. linux c段错误,Linux C中段错误
  3. 图像梯度增强_使用梯度增强机在R中进行分类
  4. matlab 判断鼠标按下,Matlab:如何通过使用回调来获取当前鼠标在点击位置
  5. MacOS下如何通过命令搜索文件和打开文件
  6. java 线程退出cmd_java 线程的终止与线程中断
  7. 3563: DZY Loves Chinese - BZOJ
  8. java软尾山地车评测_[渣图] 骑很慢的穷屌丝软尾历程
  9. mui打包ios_优品视界,聚合影视APP源码。mui框架,hbuilder即可编译,云打包生成ios的Android的app...
  10. C# 获取Newtonsoft.Json的JObject多层节点内容
  11. 分享谷歌SEO的32个实用关键词拓展工具
  12. 全国大学生数学建模2016年A题系泊系统的设计论文与代码
  13. 【密码学基础】01 密码学基本概念
  14. 怎樣制作线段动画_教程:如何制作一个绘制线条动画
  15. POE交换机和普通交换机哪里不同
  16. flutter 单线程异步 及 isolate 使用过程遇到的问题
  17. SpringCloud与微服务Ⅷ --- Hystrix断路器
  18. 华为mate30pro和荣耀v30pro的区别 哪个好
  19. 【深度学习】实时人眼 瞳孔追踪 系统
  20. 40Gbit/s QSFP光模块的软件实现(硕士学位论文)错误指出

热门文章

  1. 前端开发 html第三课 列表 超链接 相对路径 图片
  2. JWT 的退出登录方法
  3. 蓝桥杯 PREV-10 幸运数
  4. Cesium为3dTile模型添加气泡框
  5. sql 中判断身份证男女等
  6. android studio必须装c盘吗,Android Studio不占用c盘配置
  7. matlab+nnf.m,第6章_西安电子科技大学:工程线性代数(MATLAB版)_ppt_大学课件预览_高等教育资讯网...
  8. sai在别的图层复制图片后粘贴到新的图层中怎么调整图片尺寸?
  9. 解决WPS word论文英文摘要不对齐的问题
  10. 个人信贷不良资产管理 难题亟待解决