Basic calculator developed based on GUI to understand GUI push button and it's call back function.
In this calculator we can do basic math operation like division, addition, multiplication and subtraction
https://amzn.to/2SotVlZ>> guide
>> gui_cal
>> gui_cal
function varargout = gui_cal(varargin)
% GUI_CAL MATLAB code for gui_cal.fig
% GUI_CAL, by itself, creates a new GUI_CAL or raises the existing
% singleton*.
%
% H = GUI_CAL returns the handle to a new GUI_CAL or the handle to
% the existing singleton*.
%
% GUI_CAL('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in GUI_CAL.M with the given input arguments.
%
% GUI_CAL('Property','Value',...) creates a new GUI_CAL or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before gui_cal_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to gui_cal_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 gui_cal
% Last Modified by GUIDE v2.5 17-Oct-2018 22:18:06
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @gui_cal_OpeningFcn, ...
'gui_OutputFcn', @gui_cal_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 gui_cal is made visible.
function gui_cal_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 gui_cal (see VARARGIN)
% Choose default command line output for gui_cal
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes gui_cal wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = gui_cal_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;
function in1_Callback(hObject, eventdata, handles)
% hObject handle to in1 (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 in1 as text
% str2double(get(hObject,'String')) returns contents of in1 as a double
% --- Executes during object creation, after setting all properties.
function in1_CreateFcn(hObject, eventdata, handles)
% hObject handle to in1 (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 in2_Callback(hObject, eventdata, handles)
% hObject handle to in2 (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 in2 as text
% str2double(get(hObject,'String')) returns contents of in2 as a double
% --- Executes during object creation, after setting all properties.
function in2_CreateFcn(hObject, eventdata, handles)
% hObject handle to in2 (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 out1_Callback(hObject, eventdata, handles)
% hObject handle to out1 (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 out1 as text
% str2double(get(hObject,'String')) returns contents of out1 as a double
% --- Executes during object creation, after setting all properties.
function out1_CreateFcn(hObject, eventdata, handles)
% hObject handle to out1 (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
% --- Executes on button press in Addition.
function Addition_Callback(hObject, eventdata, handles)
% hObject handle to Addition (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a = str2double (get(handles.in1,'string'));
b = str2double (get(handles.in2,'string'));
c = a+b;
set(handles.out1,'string',num2str(c));
% --- Executes on button press in Substraction.
function Substraction_Callback(hObject, eventdata, handles)
% hObject handle to Substraction (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a = str2double (get(handles.in1,'string'));
b = str2double (get(handles.in2,'string'));
c = a-b;
set(handles.out1,'string',num2str(c));
% --- Executes on button press in Multiplication.
function Multiplication_Callback(hObject, eventdata, handles)
% hObject handle to Multiplication (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a = str2double (get(handles.in1,'string'));
b = str2double (get(handles.in2,'string'));
c = a*b;
set(handles.out1,'string',num2str(c));
% --- Executes on button press in Division.
function Division_Callback(hObject, eventdata, handles)
% hObject handle to Division (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a = str2double (get(handles.in1,'string'));
b = str2double (get(handles.in2,'string'));
c = a/b;
set(handles.out1,'string',num2str(c));
% --- Executes on button press in Clear.
function Clear_Callback(hObject, eventdata, handles)
% hObject handle to Clear (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.out1,'string','');

0 Comments