声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1845|回复: 6

[GUI界面] 请教高手一个数据或者控件传递的问题

[复制链接]
发表于 2007-5-28 10:15 | 显示全部楼层 |阅读模式

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

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

x
我在一个GUI主界面的一个按钮的callback函数里面写了如下的代码:



function GaociButton_Callback(hObject, eventdata, handles)
% hObject    handle to GaociButton (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
dialog('name','输入插值多项式的最高幂数:','position',[500 300 300 200]);%弹出一个对话框
uicontrol('style','text','string','次数:','position',[60 120 30 20]);
uicontrol('style','edit','tag','m','position',[150 120 50 20],'string','0');%m代表插值多项式的最高次数
uicontrol('style','pushbutton','string','O K','position',[100 50 50 25],...
    'callback',[...
    'm=str2double(get(findobj(''tag'',''m''),''string''));'...
    'E1=str2double(get(handles.angle,''string''));'...   %这里有错误,提示我handles.angle 没有定义
                                                                         %handles.angle是我在主界面里面的一个输入框
    'y1 =Gaoci(handles.E,handles.y,E1,m);'...     %同样这句中也有2个没有定义,handles.E和handles.y都是主界面中的中间计算数组
    'set(handles.height,''string'',''y1'');'...  %当然这句也不能改变主界面中的显示数据
    'close;']);
uicontrol('style','pushbutton','callback','close;','string','Cancel','position',[180 50 50 25]);


错误提示在注释里面写了,请问向这种在弹出对话框和原来的界面间的数据应该怎么共用?
回复
分享到:

使用道具 举报

发表于 2007-5-28 10:28 | 显示全部楼层
原帖由 spano 于 2007-5-28 10:15 发表
我在一个GUI主界面的一个按钮的callback函数里面写了如下的代码:



function GaociButton_Callback(hObject, eventdata, handles)
% hObject    handle to GaociButton (see GCBO)
% eventdata  reserv ...



估计要用 findobj 来实现,试试吧,不清楚。我一般不会把 fig 文件方式的 GUI 和 m文件方式的 GUI 混合使用
 楼主| 发表于 2007-5-28 10:55 | 显示全部楼层
findobj可以对object操作,不过对于数组应该怎么弄呢?
比如说handles.y是一个数组,用get(findobj('tag','y'),'___');横线上应该填什么呢?
'string'?
‘value'?
发表于 2007-5-28 11:14 | 显示全部楼层
原帖由 spano 于 2007-5-28 10:55 发表
findobj可以对object操作,不过对于数组应该怎么弄呢?
比如说handles.y是一个数组,用get(findobj('tag','y'),'___');横线上应该填什么呢?
'string'?
‘value'?


你的 y 是一个自定义的变量,并非一个句柄?这样的话,存放在 handles 的 application data 中比较方便,即不使用 findobj 的方式

[ 本帖最后由 eight 于 2007-5-28 11:21 编辑 ]
 楼主| 发表于 2007-5-28 11:17 | 显示全部楼层
哦,这样,我试下
 楼主| 发表于 2007-5-28 12:00 | 显示全部楼层
呵呵,可以用了,就是有点麻烦了

[ 本帖最后由 eight 于 2007-5-28 12:07 编辑 ]
发表于 2007-5-28 12:09 | 显示全部楼层
原帖由 spano 于 2007-5-28 12:00 发表
呵呵,可以用了,就是有点麻烦了


就两个函数:getappdata 和 setappdata 而已,呵呵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-18 10:54 , Processed in 0.076665 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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