cc2005726 发表于 2009-5-17 16:03

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

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

fsnow 发表于 2009-5-17 17:59

不同的M文件也可以使用guidata来传递参数,先要获得另一个界面的图形句柄,再使用guidata。
如:
%stores the figure handle of Quan's GUI here
quanFigureHandle= quan;

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

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

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

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

xiezhh 发表于 2009-5-17 18:06

建议用setappdata和getappdata,或者guidata

cc2005726 发表于 2009-5-18 10:18

回复 沙发 fsnow 的帖子

谢谢,我看了你的程序,只是还有一个问题要请教
%stores the figure handle of Quan's GUI here
quanFigureHandle= quan;
等号右边的quan是figure的name属性值还是另一个界面的M文件名?

cc2005726 发表于 2009-5-18 10:25

回复 板凳 xiezhh 的帖子

谢谢了。若用GUIDE制作界面的话,一个界面的句柄值是property inspector中的哪个属性啊?

cc2005726 发表于 2009-5-18 11:10

回复 沙发 fsnow 的帖子

呵呵,我刚刚试了下,quan是figure的的M文件名!也就是说,用GUIDE制作界面的话,一个界面的句柄值是相应的M文件名。

musicertt 发表于 2009-5-23 10:01

谢谢,我自己试了一下,真的进行了转换,我的设计里面正好要用到这个方法,谢谢解决了我的一个难题啊

imau1045 发表于 2009-7-3 17:15

:lol !
偷来学学!!!

Derecksky 发表于 2015-4-4 12:39

l路过         看看

秦峰伟 发表于 2015-4-15 12:51

直接调用就可以了。
页: [1]
查看完整版本: 用GUIDE制作的两个界面如何不用global的方式传递参数