从现有的GUI Matlab打开新图窗口

时间:2014-01-19 19:15:29

标签: matlab

请,我已经创建了这个示例GUI。我希望能够从包含相同信息的旧GUI中打开一个新的GUI,就像MSWord中的子菜单'New'总是打开一个新的MSWord文档一样。我不知道我的努力是否真的是答案,因为它打开了一个新的数字,但对于一个大代码,我会一直复制和粘贴吗?请问有更好的方法吗?谢谢。

function []=workmenu()
f=figure('MenuBar','None');
mh=uimenu(f,'Label','File');
mh1=uimenu(f,'Label','Edit');

mh_chd1=uimenu(mh,'Label','New'); %Submenu of mh
set(mh_chd1,'callback',{@newopen}); %Callback for mh_chd1

%Create pop up menu
pp=uicontrol(f,'Style','popupmenu','string',{'One';'Two';'Three'},...
'pos',[30 250 130 20]);

function []=newopen(varargin)
f=figure('MenuBar','None');
mh=uimenu(f,'Label','File');
mh1=uimenu(f,'Label','Edit');

mh_chd1=uimenu(mh,'Label','New'); %Submenu of mh
set(mh_chd1,'callback',{@newopen}); %Callback for mh_chd1

%Create pop up menu
pp=uicontrol(f,'Style','popupmenu','string',{'One';'Two';'Three'},...
'pos',[30 250 130 20]);
end

end

1 个答案:

答案 0 :(得分:0)

好的,这就是我发现的。它仍然打开了一个新的人物。

function []=workmenu()
f=figure('MenuBar','None');
mh=uimenu(f,'Label','File');
mh1=uimenu(f,'Label','Edit');

mh_chd1=uimenu(mh,'Label','New'); %Submenu of mh
set(mh_chd1,'callback',{@newopen}); %Callback for mh_chd1

%Create pop up menu
pp=uicontrol(f,'Style','popupmenu','string',{'One';'Two';'Three'},...
'pos',[30 250 130 20]);

function []=newopen(varargin)
    workmenu
end

end