Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2013-04-19, 19:08   #1
wang1234587
初级会员
 
注册日期: 2013-04-07
帖子: 5
声望力: 0
wang1234587 正向着好的方向发展
默认 求教关于GUI中子窗体调用主窗体参数的问题

我已经利用setappdata和getappdata将子窗体A中的一个参数m返回给了主窗体的n,主窗体可以正常使用n,我想问的是我的这个主窗体还包含一个子窗体B,那么我的子窗体B如何调用主窗体中的参数n呢?或者是子窗体A中的m呢?
我的问题有两个:
1、如何使子窗体B调用主窗体参数
2、如何使子窗体B直接调用子窗体A的参数
小弟现在只会主窗体调用子窗体参数,以上这两个不会,请尽量讲的详细点,最好举例说明,我是菜鸟啊
最好是不用重新运行被调用参数所属窗体的办法
wang1234587 当前离线   回复时引用此帖
旧 2013-04-20, 11:24   #2
wang1234587
初级会员
 
注册日期: 2013-04-07
帖子: 5
声望力: 0
wang1234587 正向着好的方向发展
默认 回复: 求教关于GUI中子窗体调用主窗体参数的问题

都没人,我已经会了,分享下
哈哈,我今天早上又上网找了找,终于找到方法,可以不打开别的窗体实现参数传递,还是利用setappdata和getappdata来实现的,我给你说下啊
先说下这个小实验的功能,在主窗体下,有两个子窗A和B,在A中有一个edit和pushbutton用来传递需要被传递的值,然后在B中也有一个edit和pushbutton用来显示被传递的值。
实现过程:
1、在主窗体中编写代码,有两个菜单按钮,分别链接子窗A和子窗B;
2、在需要把数据传递出去的窗体即子窗A的pushbutton的callback中编写代码:
txt=get(handles.edit,'string'); %将edit的值赋给txt
setappdata(0,'out',txt); %利用setappdata将txt的数据赋给变量out,这条语句中参数0的位置本应是被传递参数所属窗体的句柄,这里替换成0,意思就是直接把数据保存在matlab工作区间,使out具有全局变量的作用,当然比全局变量好
3、在需要接收传递值的窗体即子窗B的pushbutton的callback中编写代码:
in=getappdata(0,'out'); %利用getappdata将工作区间中的out的值赋给in
set(handles.edit,'string',in); %将in的值显示在edit中
wang1234587 当前离线   回复时引用此帖
回复


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

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



所有时间均为北京时间。现在的时间是 16:50


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