Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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
如何访问另一个MatlabGUI的句柄_Matlab_User Interface - Fatal编程技术网

如何访问另一个MatlabGUI的句柄

如何访问另一个MatlabGUI的句柄,matlab,user-interface,Matlab,User Interface,我在MATLAB中有两个GUI。我在handles结构中的GUI 1中存储了一些值,因此当它显示在命令窗口中时,看起来如下所示: GUI1: [1x1 Figure] pushbutton2: [1x1 UIControl] text2: [1x1 UIControl] edit1: [1x1 UIControl] output: [1x1 Figure]

我在MATLAB中有两个GUI。我在handles结构中的GUI 1中存储了一些值,因此当它显示在命令窗口中时,看起来如下所示:

        GUI1: [1x1 Figure]
        pushbutton2: [1x1 UIControl]
              text2: [1x1 UIControl]
              edit1: [1x1 UIControl]
             output: [1x1 Figure]
              val1: 0
我想使用
val1
在GUI2中设置一个值
counter
。我没有任何命令来初始化GUI 2中的
计数器。如何在GUI 2中访问GUI 1的句柄

我试图使用命令guidata(findobj('Tag','GUI1')来获取这些句柄,但它显示它是空的

我试着做了以下几点:

在GUI 1中的OpeningFcn下:

handles.val1 = 0;
guidata(hObject, handles);
setappdata(handles.GUI1,'val1', handles.val1)
在GUI 2中,在按钮功能中:

counter = getappdata(handles.GUI1,'val1')
但这似乎也不起作用!它给了我一个错误:“引用不存在的字段‘GUI1’。”


我在GUI 1上具有句柄可见性,并将标记设置为“GUI 1”。为什么我仍然有这个问题?

您应该在查找对象之前设置GUI的标记,即GUI的标记=
GUI 1
。然后,您可以尝试查找根对象的所有子对象:

gui1_H = get(0,'Children', 'Tag', 'GUI1');
或者只需使用
findobj

gui1_H = findobj('Type', 'figure', 'Tag', 'GUI1');
在某些情况下,GUI的
handleviability
设置为
off
,在这种情况下,您可以在GUI中使用
findall

gui1_H = findall(0, 'Type', 'figure', 'Tag', 'GUI1');
并获取句柄结构:

data = guidata(gui1_H);
disp(data.val);

请注意,您当前正在同时打开两个GUI,因此如果您将两个GUI的默认标记保持为
figure1
,则
gui1\u H
将不会被计算为图形对象的句柄,因此您也无法获取其
guidata

可能尝试
counter=findobj('type','double')
,或
counter=findobj('type','double','parent',GUI1)
上面写着:0x0空GraphicsPlaceholder数组。或者使用and?@Benoit_11,我只是在我最初的问题中添加了这个。我还没有尝试过这个方法,因为我设法将所有内容压缩到一个GUI中,但我会尝试一下,以备将来使用,并让您知道!请注意,设置标记非常重要,它可以帮助您在以后查找任何内容R