两个面板能否在MATLAB GUI中共享一个uicontrol?
我有一个MATLAB GUI,它具有不同方面的功能,每个都有自己的uicontrol面板。选择一个面板时,另一个面板设置为不可见,反之亦然。但是,它们以弹出菜单的形式共享一些相同的输入。我可以在第二个面板上包含菜单的“克隆”实例吗?我希望尽可能避免冗余回调和uicontrol。我想如果uicontrol是图的直接子对象,您可以将其放在所有内容之前 一个更简单的解决方案是对多个uicontrol使用相同的回调。在属性编辑器中,可以修改回调名称并将其设置为公共回调函数。此外,您还可以在GUI的两个面板能否在MATLAB GUI中共享一个uicontrol?,matlab,user-interface,panel,matlab-guide,uicontrol,Matlab,User Interface,Panel,Matlab Guide,Uicontrol,我有一个MATLAB GUI,它具有不同方面的功能,每个都有自己的uicontrol面板。选择一个面板时,另一个面板设置为不可见,反之亦然。但是,它们以弹出菜单的形式共享一些相同的输入。我可以在第二个面板上包含菜单的“克隆”实例吗?我希望尽可能避免冗余回调和uicontrol。我想如果uicontrol是图的直接子对象,您可以将其放在所有内容之前 一个更简单的解决方案是对多个uicontrol使用相同的回调。在属性编辑器中,可以修改回调名称并将其设置为公共回调函数。此外,您还可以在GUI的Ope
OpeningFcn
中创建一个字段(例如myPopupH
),在该字段中存储应以相同方式运行的弹出窗口句柄。然后,在回调中,对所有的get
调用(访问弹出菜单的修改状态)使用hObject
,即第一个输入参数,但在所有set
调用中使用handles.myPopupH
,这样可以确保两个弹出窗口始终具有相同的状态。因此,ui对象可能是冗余的,但所有代码(更重要的)只存在于单个副本中
我经常对多个ui元素使用单个回调的一个地方是close request函数,该函数可以从“Cancel”(取消)按钮以及关闭图形的“X”(可能从“File”(文件)菜单项之一访问