在Matlab中使用Guide创建带工具栏的GUI时,您可以选择使用预定义的工具栏元素,例如:打开文件,放大和缩小... 将它们拖放到GUI中,当您单击其中一个图标时,会执行一些自动生成的回调。 有没有办法自己从代码中执行这些自动生成的回调?我想在GUI菜单中包含这些工具栏元素提供的一些功能。
答案 0 :(得分:1)
您可以在“工具属性”部分的工具栏项目中指定自定义标签。此标记名称表示handles
结构中包含工具栏工具句柄的字段。
然后,您可以通过ClickedCallback
属性获取指定的回调,然后使用hgfeval
function mycallback(hObject, eventdata, handles)
cback = get(handles.mypushtool, 'ClickedCallback');
hgfeval(cback)
end
如果您只想将回调复制到菜单,则可以修改OpeningFcn
,以便只需将工具的ClickedCallback
属性复制到菜单
function myGUI_OpeningFcn(hObject, eventdata, handles)
set(handles.mymenuitem, 'Callback', get(handles.mytoolbaritem, 'ClickedCallback'));
end