从你得到的按钮回调的结果,它出现回调已按以下方式(只是举例)创建:
hButton = uicontrol(...,'Callback',{@button_callback,1,1,[1:6]});
在回调函数button_callback
定义如下:
function button_callback(hObject,eventdata,a,b,c)
...
end
注意到有two extra arguments in the input argument list为回调函数:hObject
和eventdata
(事件数据的结构)(调用回调对象的句柄)。
如果你想与应该传递给它的3个额外的参数(1
,1
,和一个1×6阵列)来调用功能句柄,则需要也传递参数为hObject
和eventdata
输入。以下是如何调用该函数会看(使用变量ans
):
ans{1}(hButton,[],ans{2:end});
您首先从单元阵列(ans{1}
),那么call it using parentheses as you would any other function得到函数句柄。对于hObject
,您可以将句柄传递给uicontrol对象(如果不需要,则为空值),对于eventdata
,您可以传递一个空值。然后从单元阵列获取附加值作为comma-separated list(ans{2:end}
),并将每个值作为单独的附加参数传递给该函数。
在回答这个问题之后,没有太多的问题要问。 :)我得到的是单元阵列..以前从未使用过它们,所以没有意识到我应该以不同的方式读取它们({}而不是[])。 – JussiR 2009-12-01 09:06:46