spano 发表于 2007-5-28 10:15

请教高手一个数据或者控件传递的问题

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



function GaociButton_Callback(hObject, eventdata, handles)
% hObject    handle to GaociButton (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
dialog('name','输入插值多项式的最高幂数:','position',);%弹出一个对话框
uicontrol('style','text','string','次数:','position',);
uicontrol('style','edit','tag','m','position',,'string','0');%m代表插值多项式的最高次数
uicontrol('style','pushbutton','string','O K','position',,...
    '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',);


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

eight 发表于 2007-5-28 10:28

原帖由 spano 于 2007-5-28 10:15 发表 http://www.chinavib.com/forum/images/common/back.gif
我在一个GUI主界面的一个按钮的callback函数里面写了如下的代码:



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


估计要用 findobj 来实现,试试吧,不清楚。我一般不会把 fig 文件方式的 GUI 和 m文件方式的 GUI 混合使用

spano 发表于 2007-5-28 10:55

findobj可以对object操作,不过对于数组应该怎么弄呢?
比如说handles.y是一个数组,用get(findobj('tag','y'),'___');横线上应该填什么呢?
'string'?
‘value'?

eight 发表于 2007-5-28 11:14

原帖由 spano 于 2007-5-28 10:55 发表 http://www.chinavib.com/forum/images/common/back.gif
findobj可以对object操作,不过对于数组应该怎么弄呢?
比如说handles.y是一个数组,用get(findobj('tag','y'),'___');横线上应该填什么呢?
'string'?
‘value'?

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

[ 本帖最后由 eight 于 2007-5-28 11:21 编辑 ]

spano 发表于 2007-5-28 11:17

哦,这样,我试下

spano 发表于 2007-5-28 12:00

呵呵,可以用了,就是有点麻烦了

[ 本帖最后由 eight 于 2007-5-28 12:07 编辑 ]

eight 发表于 2007-5-28 12:09

原帖由 spano 于 2007-5-28 12:00 发表 http://www.chinavib.com/forum/images/common/back.gif
呵呵,可以用了,就是有点麻烦了

就两个函数:getappdata 和 setappdata 而已,呵呵
页: [1]
查看完整版本: 请教高手一个数据或者控件传递的问题