Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-02-14, 11:21   #1
tengyutang
初级会员
 
注册日期: 2008-02-14
年龄: 43
帖子: 1
声望力: 0
tengyutang 正向着好的方向发展
默认 [求助]GUI中怎么定义全局变量,请指教

我在不同窗口中需要传递变量,所以想使用全局变量。
但是,在MATLAB gui的m文件中,我使用global定义变量后,没有用啊。

教程上说,是要现在脚本文件中定义,然后再在要使用的函数中定义,但是gui的m文件中,没有脚本的啊

现在我只能先在matlab命令窗中,手动先用global定义了,然后再运行gui程序,这样全局变量才有用。

这个问题怎么解决呢?请高手指教
tengyutang 当前离线   回复时引用此帖
旧 2008-02-20, 09:37   #2
wuxiangning0
初级会员
 
注册日期: 2007-08-30
帖子: 5
声望力: 0
wuxiangning0 正向着好的方向发展
默认

我觉得教程的意思,应该是在guide自己生成的代码回调中自己写脚本文件时,用global定义全局吧。
而且也不一定要采用这种方式,GUI之间应该存在一定的依赖关系,在根界面上使用guide提供的三种数据存储的方式应该可以解决你的问题,这在一些例子里面也有提到。
wuxiangning0 当前离线   回复时引用此帖
旧 2008-03-19, 16:10   #3
bluepiston
初级会员
 
注册日期: 2008-03-19
年龄: 41
帖子: 10
声望力: 18
bluepiston 正向着好的方向发展
默认

可以在在GUI中把你要的变量定义为一个handles,这样的话每次用的时候直接引用就可以了,
bluepiston 当前离线   回复时引用此帖
旧 2008-03-26, 13:28   #4
wanghaoran
初级会员
 
注册日期: 2008-03-26
年龄: 39
帖子: 1
声望力: 0
wanghaoran 正向着好的方向发展
默认

方法一:set(hobject,'userdata',value);
get(hobject,'userdata')
方法二:setappdata(object,'paramater_name','paramater');
getappdata(object,'paramater_name');
方法三:在不同对象间定义global paramater
wanghaoran 当前离线   回复时引用此帖
旧 2008-04-03, 12:10   #5
ilwllbnu
初级会员
 
注册日期: 2008-03-29
年龄: 39
帖子: 7
声望力: 0
ilwllbnu 正向着好的方向发展
默认

定义在Hundles.下面应该就可以了吧
ilwllbnu 当前离线   回复时引用此帖
旧 2008-04-07, 15:22   #6
newshowfun
初级会员
 
注册日期: 2008-04-02
年龄: 39
帖子: 14
声望力: 18
newshowfun 正向着好的方向发展
默认

哪个文件中用到了全局变量,就再用global定义一遍。
newshowfun 当前离线   回复时引用此帖
旧 2008-04-14, 15:26   #7
lincong999
初级会员
 
注册日期: 2008-04-14
年龄: 41
帖子: 5
声望力: 0
lincong999 正向着好的方向发展
默认

全局变量的初始化可以放在程序的 OpeningFcn 或 figure的CreateFcn 里
个人意见放在OpeningFcn好些
用handles 和global都可以 但用handles方便些,不用在子函数里再次定义。
lincong999 当前离线   回复时引用此帖
旧 2008-05-28, 19:02   #8
hualiangzi
初级会员
 
注册日期: 2008-05-02
年龄: 38
帖子: 25
声望力: 18
hualiangzi 正向着好的方向发展
默认 是吗?

7楼的同学:
你知不知道:OpeningFcn下是在界面显示之前执行的,也就是说你还没调用其它的函数,这个语句下面的程序就开始随着你的GUI的打开而实行了。那也就是说它每次都是实行以前的数据,这好像不太好吧!
现在我们需要一种点某个按钮后,数据的调用再影响某个语句实行的方法啊!
hualiangzi 当前离线   回复时引用此帖
旧 2008-05-28, 22:16   #9
green0921
初级会员
 
注册日期: 2008-03-28
年龄: 42
帖子: 12
声望力: 18
green0921 正向着好的方向发展
默认

与6楼的意见相同,在需要调用的函数和原函数中都用GLOBAL定义就可以了。
green0921 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 01:18


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.