用GUIDE制作的两个界面如何不用global的方式传递参数
我用GUIDE的方式作了两个界面,一个主界面,一个是按主界面上一个按钮而弹出的界面(是在callback的函数里写上run+M文件名实现的调用),这两个界面间有一些参数要传递,我是用global参数来实现的,但是想知道各位能否用其它方式传递。我在论坛上搜了下,有的是用handles结构体和guidata函数来实现传递个函数间的参数,但是这是在一个M文件里的参数传递,在用guide制作的两个M文件里,每个文件都有各自的handles结构体,那么如何来实现参数传递呢? 不同的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 编辑 ] 建议用setappdata和getappdata,或者guidata
回复 沙发 fsnow 的帖子
谢谢,我看了你的程序,只是还有一个问题要请教%stores the figure handle of Quan's GUI here
quanFigureHandle= quan;
等号右边的quan是figure的name属性值还是另一个界面的M文件名?
回复 板凳 xiezhh 的帖子
谢谢了。若用GUIDE制作界面的话,一个界面的句柄值是property inspector中的哪个属性啊?回复 沙发 fsnow 的帖子
呵呵,我刚刚试了下,quan是figure的的M文件名!也就是说,用GUIDE制作界面的话,一个界面的句柄值是相应的M文件名。 谢谢,我自己试了一下,真的进行了转换,我的设计里面正好要用到这个方法,谢谢解决了我的一个难题啊 :lol !偷来学学!!! l路过 看看 直接调用就可以了。
页:
[1]