如何在GUIDE中将一个函数分配给不同的UI控件?

How to assign one function to different UI controls in GUIDE?

我在 GUIDE 中设计的图形中有一组按钮,我想指定一个函数作为它们的回调函数。但是在 属性 检查器中没有组合框可以选择我的功能,当我 select 所有按钮并单击 Callback from 时查看 Callbacks 菜单,它创建了多个回调函数。当我在 属性 检查器中点击我不知道要调用什么按钮时,行为相同。

我可以用 OpeningFcn 中的一些编码来处理这个问题,就像 中描述的那样,或者只是调用 set(handle, 'method'),但我真的更喜欢在设计环境中这样做。

您可以在 属性 检查器中编辑 Callback 值。默认情况下,它将是该 uicontrol 的自定义回调,但您可以将其更改为您想要的任何内容。

所以对我来说,对于两个按钮,默认情况下它们类似于以下内容:

@(hObject,eventdata)mygui('pushbutton2_Callback',hObject,eventdata,guidata(hObject))    
@(hObject,eventdata)mygui('pushbutton1_Callback',hObject,eventdata,guidata(hObject))

只需将一个的值复制到另一个,它们就会有相同的回调。

或者,您可以通过指定您自己的值使它们具有完全不同的回调。