Sharing information between Callback functions in GUIDE

1 次查看(过去 30 天)
I'm trying to pass the value that I get in the textbox of edit1_Callback into the pushbutton2_Callback but I keep getting the error message that z_slice is invalid no matter how many times I try to pass it in and even when using the handles method.
function edit1_Callback(hObject, eventdata, handles)
global z_slice;
z_slice=str2double(get(hObject,'String'))
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
sf = fit([handles.x3,handles.y3],handles.z3,'cubicinterp');
plot(sf,[handles.x3,handles.y3],handles.z3)
hold on
patch([handles.xmin,handles.xmin,handles.xmax,handles.xmax],[handles.ymin,handles.ymax,handles.ymax,handles.ymin],[z_slice,z_slice,z_slice,z_slice],'w','FaceAlpha',0.7);
title('3D Curve Fit w/Cubic Interpolation')
xlabel('X')
ylabel('Y')
zlabel('Value')

回答(1 个)

Rik
Rik 2019-11-13
Because hObject is the handle to your pushbutton, you need to explicitly say you want to get the content of the edit box:
z_slice=str2double(get(handles.edit1,'String'))

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by