我正在用一些 gui 创建一个 gui,当我从一个带有“open menu.fig”的图形中打开一个 .fig 时,它打开得很好,但是当我使用一个按钮来使用“set(handles. text1,'string',"123")" 它不起作用。错误:尝试引用非结构数组的字段。但是当我在 matlab 中而不是从另一个 gui 打开这个图时,它可以正常工作。
问问题
1477 次
1 回答
0
这有几个可能的原因。显然,当您调用 "set(handles.text1,'string',"123")" 时,handles.text1 不存在。我猜你这里没有正确的句柄......
句柄结构仅包含其自身元素的句柄(嗯,默认情况下.. 如果您愿意,可以附加任何您需要的内容)
要获取另一个图形的句柄,您必须直接找到图形或元素的句柄。您可以按照此处的说明执行此操作:
在你的情况下
figHandles = findall(0,'Tag','text1');
会有帮助,但前提是这个标签只有一个元素!
如果您有另一个图形的句柄(myFigure,您可以使用:
figHandles = findall(myFigure,'Tag','text1');
你也可以使用
output = open("menu.fig")
直接获取新图形的句柄->
figHandles = findall(output ,'Tag','text1');
会做的工作:)
于 2013-08-05T08:01:28.610 回答