天天看点

matlab的openingfcn,求助gui中的opening fcn等问题

最近在做gui,底子太烂了,怎么看都不懂。在这发一个看到的例子,希望得到各位高手的指点

谢谢啦~~

红色部分是要问的

还有handles的用法是什么,就是具体语句中的用法?

function varargout = mygui(varargin)

%MYGUI M-file for mygui.fig

%      MYGUI, by itself, creates a new MYGUI or raises the existing

%      singleton*.

%

%      H = MYGUI returns the handle to a new MYGUI or the handle to

%      the existing singleton*.

%

%      MYGUI('Property','Value',...) creates a new MYGUI using the

%      given property value pairs. Unrecognized properties are passed via

%      varargin to mygui_OpeningFcn.  This calling syntax produces a

%      warning when there is an existing singleton*.

%

%      MYGUI('CALLBACK') and MYGUI('CALLBACK',hObject,...) call the

%      local function named CALLBACK in MYGUI.M with the given input

%      arguments.

%

%      *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 mygui

% Last Modified by GUIDE v2.5 18-Aug-2007 10:11:06

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

'gui_Singleton',  gui_Singleton, ...

'gui_OpeningFcn', @mygui_OpeningFcn, ...

'gui_OutputFcn',  @mygui_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 mygui is made visible.

function mygui_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   unrecognized PropertyName/PropertyValue pairs from the

%            command line (see VARARGIN)

handles.peaks=peaks(35);  这段是什么用处?所有要用的函数都要在这定义吗?

handles.membrane=membrane;

[x,y] = meshgrid(-8:.5:8);

r = sqrt(x.^2+y.^2) + eps;

sinc = sin(r)./r;

handles.sinc = sinc;         handles。sinc=sinc是说sinc的句柄是sinc的函数吗?

handles.current_data = handles.peaks;

surf(handles.current_data);

% Choose default command line output for mygui

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes mygui wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.function varargout = mygui_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 surf_pushbutton.

function surf_pushbutton_Callback(hObject, eventdata, handles)

% hObject    handle to surf_pushbutton (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

surf(handles.current_data);    这句是什么意思啊?

% --- Executes on button press in mesh_pushbutton.

function mesh_pushbutton_Callback(hObject, eventdata, handles)

% hObject    handle to mesh_pushbutton (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

mesh(handles.current_data);

% --- Executes on button press in contour_pushbutton.

function contour_pushbutton_Callback(hObject, eventdata, handles)

% hObject    handle to contour_pushbutton (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

contour(handles.current_data);这两句都是,不明白% --- Executes on selection change in popup.

function popup_Callback(hObject, eventdata, handles)

% hObject    handle to popup (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popup contents as cell array

%        contents{get(hObject,'Value')} returns selected item from popup

val = get(hObject,'Value');

str = get(hObject, 'String');

switch str{val};

case 'peaks' % User selects peaks

handles.current_data = handles.peaks;

case 'membrane' % User selects membrane

handles.current_data = handles.membrane;

case 'sinc' % User selects sinc

handles.current_data = handles.sinc;

end

guidata(hObject,handles)

% --- Executes during object creation, after setting all properties.

function popup_CreateFcn(hObject, eventdata, handles)

% hObject    handle to popup (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --------------------------------------------------------------------

function surf_menu_Callback(hObject, eventdata, handles)

% hObject    handle to surf_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

surf(handles.current_data);

% --------------------------------------------------------------------

function mesh_menu_Callback(hObject, eventdata, handles)

% hObject    handle to mesh_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%mesh(handles.current_data);

mesh_pushbutton_Callback(hObject, eventdata, handles);

% --------------------------------------------------------------------

function contour_menu_Callback(hObject, eventdata, handles)

% hObject    handle to contour_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

contour(handles.current_data);

% --------------------------------------------------------------------

function closef_menu_Callback(hObject, eventdata, handles)

% hObject    handle to closef_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

close(gcf);

% --------------------------------------------------------------------

function box_menu_Callback(hObject, eventdata, handles)

% hObject    handle to box_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

if strcmp(get(gcbo, 'Checked'),'on')

set(gcbo, 'Checked', 'off');

else

set(gcbo, 'Checked', 'on');

end

box;

% --------------------------------------------------------------------

function grid_menu_Callback(hObject, eventdata, handles)

% hObject    handle to grid_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

if strcmp(get(gcbo, 'Checked'),'on')

set(gcbo, 'Checked', 'off');

else

set(gcbo, 'Checked', 'on');

end

grid;

% --------------------------------------------------------------------

function context_menu_Callback(hObject, eventdata, handles)

% hObject    handle to context_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% --------------------------------------------------------------------

function close_Callback(hObject, eventdata, handles)

% hObject    handle to close (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% --------------------------------------------------------------------

function choose_menu_Callback(hObject, eventdata, handles)

% hObject    handle to choose_menu (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)