`
deepfuture
  • 浏览: 4333670 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79430
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68389
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101511
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281224
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14608
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65582
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31322
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45211
社区版块
存档分类
最新评论

matlab-GUI程序(3)

 
阅读更多

在打开函数中,增加handles中的字段

function test1_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 test1 (see VARARGIN)

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

% Update handles structure
handles.numa=1
handles.numb=1
handles.numc=1
guidata(hObject, handles);

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

 

 

下面完成将结果赋值

> help guihandles
 GUIHANDLES Return a structure of handles.
    HANDLES = GUIHANDLES(H) returns a structure containing handles of
    objects in a figure, using their tags as fieldnames.  Objects
    are excluded if their tags are empty, or are not legal variable
    names.  If several objects have the same tag, that field in the
    structure contains a vector of handles.  Objects with hidden
    handles are included in the structure.
 
    H is a handle that identifies the figure - it can be the figure
    itself, or any object contained in the figure.
 
    HANDLES = GUIHANDLES returns a structure of handles for the
    current figure.
 
    Example:
 
    Suppose an application creates a figure with handle F, containing
    a slider and an editable text uicontrol whose tags are 'valueSlider'
    and 'valueEdit' respectively.  The following excerpts from the
    application's M-file illustrate the use of GUIHANDLES in callbacks:
 
    ... excerpt from the GUI setup code ...
 
    f = figure;
    uicontrol('Style','slider','Tag','valueSlider', ...);
    uicontrol('Style','edit','Tag','valueEdit',...);
 
    ... excerpt from the slider's callback ...
 
    handles = guihandles(gcbo); % generate handles struct
    set(handles.valueEdit, 'string',...
        num2str(get(handles.valueSlider, 'value')));
 
    ... excerpt from the edit's callback ...
 
    handles = guihandles(gcbo);
    val = str2double(get(handles.valueEdit,'String'));
    if isnumeric(val) & length(val)==1 & ...
       val >= get(handles.valueSlider, 'Min') & ...
       val <= get(handles.valueSlider, 'Max')
      % update the slider's value if the edit's value is OK:
      set(handles.valueSlider, 'Value', val);
    else
      % flush the bad string out of the edit; replace with slider's
      % current value:
      set(handles.valueEdit, 'String',...
        num2str(get(handles.valueSlider, 'Value')));
    end
 
    Note that in this example, the structure of handles is created
    each time a callback executes.  See the GUIDATA help for an
    example in which the structure is created only once, and cached
    for subsequent use.

=================

matlab的一元高次方程数值解

 

 

 

 



 

 

计算结果的程序为:

function btn_draw_Callback(hObject, eventdata, handles)
% hObject    handle to btn_draw (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%求解一元二次方程
myres=roots([handles.numa,handles.numb,handles.numc]);
set(handles.result,'string',mat2str(myres)) ;

 完整程序为

function varargout = test1(varargin)
% TEST1 M-file for test1.fig
%      TEST1, by itself, creates a new TEST1 or raises the existing
%      singleton*.
%
%      H = TEST1 returns the handle to a new TEST1 or the handle to
%      the existing singleton*.
%
%      TEST1('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in TEST1.M with the given input arguments.
%
%      TEST1('Property','Value',...) creates a new TEST1 or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before test1_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to test1_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 test1
                                            
% Last Modified by GUIDE v2.5 04-Oct-2012 17:21:13

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @test1_OpeningFcn, ...
                   'gui_OutputFcn',  @test1_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 test1 is made visible.
function test1_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 test1 (see VARARGIN)

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

% Update handles structure
handles.numa=1
handles.numb=1
handles.numc=1
guidata(hObject, handles);

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


% --- Outputs from this function are returned to the command line.
function varargout = test1_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 btn_draw.
function btn_draw_Callback(hObject, eventdata, handles)
% hObject    handle to btn_draw (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%求解一元二次方程
myres=roots([handles.numa,handles.numb,handles.numc]);
set(handles.result,'string',mat2str(myres)) ;

function a_num_Callback(hObject, eventdata, handles)
% hObject    handle to a_num (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of a_num as text
%        str2double(get(hObject,'String')) returns contents of a_num as a double
numa=str2double(get(hObject,'string'));
if isnan(numa)
      errordlg('请输入数字','输入错误','modal');
end
handles.numa=numa;
guidata(hObject, handles);

      

% --- Executes during object creation, after setting all properties.
function a_num_CreateFcn(hObject, eventdata, handles)
% hObject    handle to a_num (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit 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 b_num_Callback(hObject, eventdata, handles)
% hObject    handle to b_num (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of b_num as text
%        str2double(get(hObject,'String')) returns contents of b_num as a double
numb=str2double(get(hObject,'string'));
if isnan(numb)
      errordlg('请输入数字','输入错误','modal');
end
handles.numb=numb;
guidata(hObject, handles);

% --- Executes during object creation, after setting all properties.
function b_num_CreateFcn(hObject, eventdata, handles)
% hObject    handle to b_num (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit 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 c_num_Callback(hObject, eventdata, handles)
% hObject    handle to c_num (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of c_num as text
%        str2double(get(hObject,'String')) returns contents of c_num as a double
numc=str2double(get(hObject,'string'));
if isnan(numc)
      errordlg('请输入数字','输入错误','modal');
end
handles.numc=numc;
guidata(hObject, handles);

% --- Executes during object creation, after setting all properties.
function c_num_CreateFcn(hObject, eventdata, handles)
% hObject    handle to c_num (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit 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

 用到的主要知识为:

1、get,set获取和设置属性

2、GUI上的控件,都在handles结构中,比如如果有个edit1的文本编辑框,则在M程序中表示为handles.edit1

3、使用guidata来更新GUI的共享数据,可用于控件之间交换数据,此外要加进handles的结构要在打开函数中增加

4、errordlg显示错误提示框

5、关于gco

 

>> help gco
 GCO Get handle to current object.
    OBJECT = GCO returns the current object in the current figure.
 
    OBJECT = GCO(FIG) returns the current object in the figure FIG.
 
    The current object is the last object clicked on, excluding
    uimenus.  If the click was not over a figure child, the
    figure itself will be the current object.
 
    The handle of the current object is stored in the figure
    property CurrentObject, and can be accessed directly using GET
    and SET.
 
    Use GCO in a callback to obtain the handle of the object that
    was clicked on.  MATLAB updates the current object before
    executing each callback, so the current object may change if
    one callback is interrupted by another.  To obtain the right
    handle during a callback, get the current object early, before
    any calls to DRAWNOW, WAITFOR, PAUSE, FIGURE, or GETFRAME which
    provide opportunities for other callbacks to interrupt.
 
    If no figures exist, GCO returns [].

 

  • 大小: 20.5 KB
  • 大小: 23.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics