我对MATLAB的指南中的回调函数有疑问。按下按钮时,我执行以下代码:
handles.xPos=handles.xPos+1
addX = handles.xPos
handles.shape2 =fill ([-2+addX 1+addX 1+addX -1+addX], [1 1 -1 -1], 'r');
这有效,但只有一次(旧的形状仍然存在,但这是一个单独的问题)。我已经完成了调试代码并确定按下按钮时总是调用回调函数,但由于某些奇怪的原因,在第一次按下按钮后对位置的更改没有影响。
我在这里做错了什么?
答案 0 :(得分:0)
您必须通过 guidata
更新句柄,以便对handles
进行修改:
guidata(hObject,handles);
否则handles
的修改会在回调执行结束时丢失。
最佳