【发布时间】:2015-06-01 23:00:37
【问题描述】:
我在 MATLAB 中有两个 GUI。我在句柄结构中存储了 GUI1 中的一些值,因此当它显示在命令窗口中时,它看起来像这样:
GUI1: [1x1 Figure]
pushbutton2: [1x1 UIControl]
text2: [1x1 UIControl]
edit1: [1x1 UIControl]
output: [1x1 Figure]
val1: 0
我想在 GUI2 中使用val1 设置一个值counter。我没有任何命令在 GUI2 中初始化 counter。如何在 GUI2 中访问 GUI1 的句柄?
我尝试使用命令 guidata(findobj('Tag', 'GUI1')) 来获取这些句柄,但它显示它是空的。
我尝试了以下操作:
在 GUI1 中,OpeningFcn 下:
handles.val1 = 0;
guidata(hObject, handles);
setappdata(handles.GUI1,'val1', handles.val1)
在 GUI2 中,在按钮功能中:
counter = getappdata(handles.GUI1,'val1')
但这似乎也不起作用!它给了我一个错误,“引用不存在的字段'GUI1'。”
我有 GUI1 的句柄可见性,并且标签设置为“GUI1”。为什么我还有这个问题?
【问题讨论】:
-
也许可以试试
counter=findobj('type','double'),或者counter=findobj('type','double','parent',GUI1) -
它说:0x0 空的 GraphicsPlaceholder 数组。
-
@Benoit_11 我刚刚将其添加到我原来的问题中。
标签: matlab user-interface