MATLAB Answers

Using Radio Buttons with Push Button

14 views (last 30 days)
Kaan Uçar
Kaan Uçar on 17 May 2019
Commented: Dennis on 17 May 2019
Hey everybody. I have a homework which asks me to create GUI which will allow user to enter two numbers, then choose an operation (addition, substraction, multiplication, division) by using radio buttons, and then will give the result when they click the push button.
Here's what I've tried. I tried to contain all the codes in Pus Button Callback. It does not work: ("sonuc" is the result of the operation. It is the tag of my static text box.)
% --- 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)
x = get(handles.sayi_1, 'String');
x = str2num(x);
y = get(handles.sayi_2, 'String');
y = str2num(y);
switch get(eventdata.uibuttongroup1, 'Tag')
case t
islem = x + y;
set(handles.sonuc, 'String', islem)
case c
islem = x - y;
set(handles.sonuc, 'String', islem)
case cc
islem = x * y;
set(handles.sonuc, 'String', islem)
case b
islem = x / y;
set(handles.sonuc, 'String', islem)
end

  0 Comments

Sign in to comment.

Answers (1)

Dennis
Dennis on 17 May 2019
Try changing
switch get(eventdata.uibuttongroup1, 'Tag')
to
switch get(handles.uibuttongroup1.SelectedObject)
And you need to change t, c, cc and b to the correct handles of your radiobuttons (probably handles.radiobutton1, handles.radiobutton2 ....)

  2 Comments

Kaan Uçar
Kaan Uçar on 17 May 2019
I tried what you said, but when I execute the operation it tells me the switch input must be a scalar or a string.
My switch cases look someting like this:
case handles.t
Dennis
Dennis on 17 May 2019
My bad, it needs to be
switch get(handles.uibuttongroup1,'SelectedObject')

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b

Translated by