2014-12-13 25 views
0

讓我們考慮下面的圖片 enter image description here產生在MATLAB多GUI形式

這裏是代碼,它

function varargout = example(varargin) 
% EXAMPLE MATLAB code for example.fig 
%  EXAMPLE, by itself, creates a new EXAMPLE or raises the existing 
%  singleton*. 
% 
%  H = EXAMPLE returns the handle to a new EXAMPLE or the handle to 
%  the existing singleton*. 
% 
%  EXAMPLE('CALLBACK',hObject,eventData,handles,...) calls the local 
%  function named CALLBACK in EXAMPLE.M with the given input arguments. 
% 
%  EXAMPLE('Property','Value',...) creates a new EXAMPLE or raises the 
%  existing singleton*. Starting from the left, property value pairs are 
%  applied to the GUI before example_OpeningFcn gets called. An 
%  unrecognized property name or invalid value makes property application 
%  stop. All inputs are passed to example_OpeningFcn via varargin. 
% 
%  *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one 
%  instance to run (singleton)". 
% 
% See also: GUIDE, GUIDATA, GUIHANDLES 

% Edit the above text to modify the response to help example 

% Last Modified by GUIDE v2.5 13-Dec-2014 16:02:20 

% Begin initialization code - DO NOT EDIT 
gui_Singleton = 1; 
gui_State = struct('gui_Name',  mfilename, ... 
        'gui_Singleton', gui_Singleton, ... 
        'gui_OpeningFcn', @example_OpeningFcn, ... 
        'gui_OutputFcn', @example_OutputFcn, ... 
        'gui_LayoutFcn', [] , ... 
        'gui_Callback', []); 
if nargin && ischar(varargin{1}) 
    gui_State.gui_Callback = str2func(varargin{1}); 
end 

if nargout 
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); 
else 
    gui_mainfcn(gui_State, varargin{:}); 
end 
% End initialization code - DO NOT EDIT 


% --- Executes just before example is made visible. 
function example_OpeningFcn(hObject, eventdata, handles, varargin) 
% This function has no output args, see OutputFcn. 
% hObject handle to figure 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
% varargin command line arguments to example (see VARARGIN) 

% Choose default command line output for example 
handles.output = hObject; 

% Update handles structure 
guidata(hObject, handles); 

% UIWAIT makes example wait for user response (see UIRESUME) 
% uiwait(handles.figure1); 


% --- Outputs from this function are returned to the command line. 
function varargout = example_OutputFcn(hObject, eventdata, handles) 
% varargout cell array for returning output args (see VARARGOUT); 
% hObject handle to figure 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 

% Get default command line output from handles structure 
varargout{1} = handles.output; 


% --- Executes on button press in pushbutton1. 
function pushbutton1_Callback(hObject, eventdata, handles) 
% hObject handle to pushbutton1 (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 


% --- Executes on button press in pushbutton2. 
function pushbutton2_Callback(hObject, eventdata, handles) 
% hObject handle to pushbutton2 (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 

我需要的是以下內容:比如我創建了兩個項目,其中一個將要求用戶輸入一些數據並生成信號,第二個將繪製它或計算功率譜,所以當我點擊操作A時,它應該允許我輸入信息和生成信號,第二個應該估計現有信號的功率譜,如何我可以做嗎?在此先感謝

+0

你卡在哪裏? – ThP 2014-12-13 18:11:46

+0

如何將這個主要部分連接到這些子程序 – 2014-12-13 18:41:00

回答

1

您可以編寫另一個GUI,例如OperationA。然後,您可以在原始GUI中從pushbutton1_Callback調用它。您也可以通過使用具有輸入\輸出參數:

varargout = OperationA(varargin); 

幾件事情要記住:
1.然後入口點是在OperationA_OpeningFcn。做那些你需要用到的函數中的輸入參數(例如,將它們存儲在handles中)。
2.您應取消uiwait(handles.figure1);的註釋OperationA_OpeningFcn
3.分配任何輸出參數並關閉GUI在OperationA_OutputFcn
4.要獲得OperationA_OutputFcn,請使用uiresume(例如,在OK按鈕的回調中)。

+0

是的,但如何調用?我需要完成所有這些4步? – 2014-12-13 20:03:18

+0

我寫了如何打電話。你應該從4個步驟開始。 – ThP 2014-12-13 20:09:39

+0

我想我需要真正的例子在這些日子裏,我會做,並會在這裏發表,只有理論上是不可能的 – 2014-12-13 20:27:34