我是Matlab的新手,我想在不同的GUI中调用函数而不发送任何参数(从一个GUI到另一个GUI)。
示例:
gui1.m
function some_ui_OpeningFun(hObject, eventdata, handles, varargin)
a = 10;
setappdata(0,'a',a);
gui2('pushbutton1_Callback'...) %<- to call the function in the second gui
handles.output = hObject;
guidata(hObject, handles);
gui2.m
function pushbutton1_Callback(hObject, eventdata, handles)
b = getappdata(0,'a');
disp(a);
所以我想从pushbutton1_Callback
调用函数gui2.m
。
我尝试过使用GUID评论中提供的gui2('pushbutton1_callback',handles,.....)
。但是无法得到它。
谁能告诉我怎么做?
提前感谢。
答案 0 :(得分:0)
如果您想从另一个GUI(gui2
)访问GUI(gui1
),您需要在gui2
中引用gui1
,这可以在几种方式;例如,当你运行gui2
(编辑:当你运行gui1
时,你需要运行它时,要求对象gui1
- 对象作为输入参数处理一个参数,例如像gui1(f)
,其中f
是gui2
数字的数字句柄 - 您可以通过运行gui2
来获得此数字句柄:{{1 }} )例如在f = gui2
- 行后添加以下行:
function some_ui_OpeningFun(hObject, eventdata, handles, varargin)
然后你可以按如下方式调用其他gui的函数:
handles.othergui = varargin{1};
我希望这能回答你的问题!