0

在我使用 Matlab 中的 GUIDE 制作的 GUI 中。我遇到了一个问题,在使用 Load() 函数加载 .MAT 文件时,我的所有句柄都会更改值。这意味着如果我有一个我想在我的 GUI 上使用的按钮。我的程序会相信它的句柄是例如

 handles.button1 =190.082

实际上,我可以再访问该按钮的唯一方法是通过另一个未知的手柄。因此,如果它未知,让我们看看它的新句柄必须是什么。

findobj('Tag','button1') = 227.0093

如您所见,这些数字完全不同。为什么句柄值会改变,这超出了我的理解。由于句柄发生了变化,我无法再使用之前代码部分中编写的 set() 函数。例如我必须改变

set(handles.button1, 'Enable', 'off');

to 

set(findobj('Tag','button1'),'Enable','off');

有没有人解释为什么在使用时会出现这个问题Load()?有没有可行的解决方案,而不是每次要使用对象时都必须找到它的句柄?

4

1 回答 1

0

.MAT 文件方便地还有一个句柄变量,它覆盖了我当前的句柄。

于 2013-04-18T12:47:40.450 回答