1
請,我已經創建了這個示例GUI。我希望能夠從包含相同信息的舊版本中打開一個新的GUI,就像MSWord中的子菜單'新建'始終打開新的MSWord文檔一樣。我不知道我的努力是否真的是答案,因爲它打開了一個新的數字,但對於一個大的代碼,我會一直複製和粘貼?請問有沒有更好的方法來做到這一點?謝謝。從現有的GUI Matlab打開新圖窗口
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
我認爲你應該改進你的問題。對於一個工作代碼總是很好。但我認爲你沒有解決基本問題 - 你將如何在兩個不同的窗口中管理數據和功能?對於這個方面,你會真正受益於面向對象的編程。另外恕我直言,Matlab是GUI應用程序的不錯選擇 - 它使得應用程序響應不佳(主要是因爲它是單線程的)。 – bdecaf
感謝您的回覆,但我很困惑。爲什麼恕我直言對於gui應用程序來說是不好的選擇? – user2868118
個人是關於這個單線程的事情。您無需對應用程序進行反饋或控制,直到它將控制權交還給用戶。一旦你有幾個線程,這很容易做到。 – bdecaf