声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2997|回复: 9

[GUI界面] 用GUIDE制作的两个界面如何不用global的方式传递参数

[复制链接]
发表于 2009-5-17 16:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用GUIDE的方式作了两个界面,一个主界面,一个是按主界面上一个按钮而弹出的界面(是在callback的函数里写上run+M文件名实现的调用),这两个界面间有一些参数要传递,我是用global参数来实现的,但是想知道各位能否用其它方式传递。
      我在论坛上搜了下,有的是用handles结构体和guidata函数来实现传递个函数间的参数,但是这是在一个M文件里的参数传递,在用guide制作的两个M文件里,每个文件都有各自的handles结构体,那么如何来实现参数传递呢?
回复
分享到:

使用道具 举报

发表于 2009-5-17 17:59 | 显示全部楼层
不同的M文件也可以使用guidata来传递参数,先要获得另一个界面的图形句柄,再使用guidata。
如:

  1. %stores the figure handle of Quan's GUI here
  2. quanFigureHandle  = quan;  

  3. %stores the GUI data from Quan's GUI here
  4. %now we can access any of the data from Quan's GUI!!!!
  5. quanData = guidata(quanFigureHandle);

  6. %store the input text from Quan's GUI into the variable quan_input
  7. quan_input = get(quanData.editText_Quan,'String');

复制代码
这里有个简单的例子可以参考一下。

[ 本帖最后由 fsnow 于 2009-5-17 18:05 编辑 ]

quan.fig

1.93 KB, 下载次数: 22

quan.m

3.34 KB, 下载次数: 30

daniel.fig

2.05 KB, 下载次数: 18

daniel.m

3.37 KB, 下载次数: 20

评分

1

查看全部评分

发表于 2009-5-17 18:06 | 显示全部楼层
建议用setappdata和getappdata,或者guidata

评分

1

查看全部评分

 楼主| 发表于 2009-5-18 10:18 | 显示全部楼层

回复 沙发 fsnow 的帖子

谢谢,我看了你的程序,只是还有一个问题要请教
%stores the figure handle of Quan's GUI here
quanFigureHandle  = quan;
等号右边的quan是figure的name属性值还是另一个界面的M文件名?
 楼主| 发表于 2009-5-18 10:25 | 显示全部楼层

回复 板凳 xiezhh 的帖子

谢谢了。若用GUIDE制作界面的话,一个界面的句柄值是property inspector中的哪个属性啊?
 楼主| 发表于 2009-5-18 11:10 | 显示全部楼层

回复 沙发 fsnow 的帖子

呵呵,我刚刚试了下,quan是figure的的M文件名!也就是说,用GUIDE制作界面的话,一个界面的句柄值是相应的M文件名。
发表于 2009-5-23 10:01 | 显示全部楼层
谢谢,我自己试了一下,真的进行了转换,我的设计里面正好要用到这个方法,谢谢解决了我的一个难题啊
发表于 2009-7-3 17:15 | 显示全部楼层
:lol !
偷来学学!!!
发表于 2015-4-4 12:39 | 显示全部楼层
l路过         看看
发表于 2015-4-15 12:51 | 显示全部楼层
直接调用就可以了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-15 15:53 , Processed in 0.072593 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表