从另一个GUI调用GUI函数

时间:2018-10-31 13:20:25

标签: matlab user-interface

我有打开GUI2的GUI1。 我希望GUI2从GUI1执行功能。

link显示了如何执行回调,但是我想执行一个函数。 谢谢

1 个答案:

答案 0 :(得分:1)

您需要为该函数创建一个句柄,并将其保存在可以对其进行评估的地方。

例如在GUI1打开功能(其中hObject是GUI1图形对象/句柄)中:

func.myFun1=@myFun1;
func.myFun2=@myFun2;
setappdata(hObject,'fun_handles',func);

然后,在GUI2中,可以使用func=getappdata(GUI1_figure,'fun_handles');恢复句柄,其中GUI1_figure是GUI1图形对象。图形对象可以在GUI放大时保存(例如,如果始终从GUI1创建GUI2,则将该对象作为参数传递并保存在某处),也可以使用findobj(0,'-depth',1,'Tag','tag_of_GUI1_figure')

找到