当我从matlab中的另一个人打开一个.fig时,gui不起作用

时间:2013-08-04 21:30:56

标签: matlab user-interface figure

我正在创建一个带有一些gui的gui,当我从一个带有“open menu.fig”的图形打开一个.fig它打开很好,但是当我使用一个按钮来改变一些图形组件属性时“set” (handles.text1,'string',“123”)“它不起作用。 错误:尝试引用非结构数组的字段。 但是当我在matlab中打开这个图而不是来自另一个gui时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

这有几个可能的原因。当你调用“set(handles.text1,'string',”123“)”时,显然handle.text1不存在。我想你这里没有正确的手柄......

handle-structure只包含自己元素的句柄(默认情况下......如果你愿意,可以附加你需要的任何东西)

要获得另一个图形的句柄,您必须直接找到元素的图形或句柄。您可以按照此处的说明执行此操作:

how-do-i-get-the-handles-of-all-open-figures-in-matlab

在你的情况下

figHandles = findall(0,'Tag','text1');

会有所帮助,但前提是这个标签只有一个元素!!

如果你有另一个图的句柄(myFigure,你可以使用:

figHandles = findall(myFigure,'Tag','text1');

您也可以使用

output = open("menu.fig")

直接获取新数字的句柄 - >

figHandles = findall(output ,'Tag','text1');

将完成这项工作:)