Using Radio Buttons with Push Button

4 次查看(过去 30 天)
Kaan Uçar
Kaan Uçar 2019-5-17
评论: Dennis 2019-5-17
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

回答(1 个)

Dennis
Dennis 2019-5-17
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 个评论
Kaan Uçar
Kaan Uçar 2019-5-17
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 2019-5-17
My bad, it needs to be
switch get(handles.uibuttongroup1,'SelectedObject')

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by