Sharing information between Callback functions in GUIDE

3 次查看(过去 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 中查找有关 Author Block Masks 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by