Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个面板能否在MATLAB GUI中共享一个uicontrol?_Matlab_User Interface_Panel_Matlab Guide_Uicontrol - Fatal编程技术网

两个面板能否在MATLAB GUI中共享一个uicontrol?

两个面板能否在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

我有一个MATLAB GUI,它具有不同方面的功能,每个都有自己的uicontrol面板。选择一个面板时,另一个面板设置为不可见,反之亦然。但是,它们以弹出菜单的形式共享一些相同的输入。我可以在第二个面板上包含菜单的“克隆”实例吗?我希望尽可能避免冗余回调和uicontrol。

我想如果uicontrol是图的直接子对象,您可以将其放在所有内容之前

一个更简单的解决方案是对多个uicontrol使用相同的回调。在属性编辑器中,可以修改回调名称并将其设置为公共回调函数。此外,您还可以在GUI的
OpeningFcn
中创建一个字段(例如
myPopupH
),在该字段中存储应以相同方式运行的弹出窗口句柄。然后,在回调中,对所有的
get
调用(访问弹出菜单的修改状态)使用
hObject
,即第一个输入参数,但在所有
set
调用中使用
handles.myPopupH
,这样可以确保两个弹出窗口始终具有相同的状态。因此,ui对象可能是冗余的,但所有代码(更重要的)只存在于单个副本中

我经常对多个ui元素使用单个回调的一个地方是close request函数,该函数可以从“Cancel”(取消)按钮以及关闭图形的“X”(可能从“File”(文件)菜单项之一访问