Matlab GUI handles 参数传递的问题
最近新学Matlab GUI,发现GUI参数传递中的一个问题
我在界面上放置了一个text1控件和一个pushbutton控件
使用handles可以在各控件中传递参数,但是控件调用的子函数就没法对handles中的值进行修改
比方说:
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% 自己定义的一个参数
handles.StrInit='0';
% Update handles structure
guidata(hObject, handles);
function pushbutton_callback(hObject,handles)
handles.StrInit=[handles.StrInit,'_pushbutton'];
Fcn1(hObject,handles);
set(handles.text1,'string',handles.StrInit);
guidata(hObject,handles);
function Fcn1(hObject,handles)
handles.StrInit=[handles.StrInit,'_Fcn1'];
guidata(hObject,handles);
Fcn2(hObject);
function Fcn2(hObject,handles)
handles.StrInit=[handles.StrInit,'_Fcn2'];
guidata(hObject,handles);
结果显示的是“0_pushbutton”也就是说在Fcn1和Fcn2中对handles的修改没有生效。
网上说用handles=guidata(gcbo),然后试过在子函数中第一句加上该句,仍然没有效果。
不知道哪位大神能帮忙解决这个问题?