【发布时间】:2013-08-07 22:53:16
【问题描述】:
我有两个完全一样的 gui。
但是,每个 gui 中只使用了部分功能。我基本上在 GUIDE 中以两个不同的名称保存了一个整体 gui。
我将单体应用划分为 subguis,每个 subguis 都具有相同的 fig 文件,但以不同的名称保存在 GUIDE 中。
SubguiA 和 subguiB 从父 gui 上的两个按钮启动。在每个 subgui 中都有一个用户控件(一个面板),其中 'UserData' 设置为 3005。我从按钮 1 运行 subguiA。我从按钮 2 运行 subguiB 并介入并从内部询问 hpanel = findobj('UserData',3005) subguiB 上的文本框之一的 CreateFcn。我将 hpanel 作为 2x1 double 返回,因为它在内存中找到了两个这样的面板。我明白了。
因此,当我使用 hpanel 将文本框的用户数据设置为“父级”时,应用程序崩溃了,因为 hpanel 应该是 1x1。我想我会在 findobj 中使用 subguiB 的句柄,以便专门将 findobj 限制为 subguiB。然而,当 subguiB 上的文本框的 CreateFcn 正在运行时,它还没有整个 subguiB 的 hObject。整个 subguiB 的 hObject 可以从 subguiB 的 OpeningFcn 中获得,它只有在其上的所有用户控件的 CreateFcns 执行后才运行。
所以问题是:如何限制 findObj 仅在 subguiB(当前正在创建的对象?)中查找对象。 谢谢
【问题讨论】:
标签: matlab