按钮只改变一次位置
Push button is only changing position once
我对 MATLAB GUIDE 中的回调函数有疑问。按下按钮时执行以下代码:
handles.xPos=handles.xPos+1
addX = handles.xPos
handles.shape2 =fill ([-2+addX 1+addX 1+addX -1+addX], [1 1 -1 -1], 'r');
这有效,但只有一次(旧的形状仍然存在,但这是一个单独的问题)。我调试了代码,确定按下按钮时总是调用回调函数,但由于某些奇怪的原因,第一次按下按钮后位置的变化没有任何效果。
我做错了什么?
您必须通过 guidata
更新您的句柄 以考虑 handles
的修改:
guidata(hObject,handles);
否则 handles
的修改将在回调执行结束时丢失。
最佳
我对 MATLAB GUIDE 中的回调函数有疑问。按下按钮时执行以下代码:
handles.xPos=handles.xPos+1
addX = handles.xPos
handles.shape2 =fill ([-2+addX 1+addX 1+addX -1+addX], [1 1 -1 -1], 'r');
这有效,但只有一次(旧的形状仍然存在,但这是一个单独的问题)。我调试了代码,确定按下按钮时总是调用回调函数,但由于某些奇怪的原因,第一次按下按钮后位置的变化没有任何效果。
我做错了什么?
您必须通过 guidata
更新您的句柄 以考虑 handles
的修改:
guidata(hObject,handles);
否则 handles
的修改将在回调执行结束时丢失。
最佳