在我使用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()
时是否有人解释为何会出现此问题?
是否有可行的解决方案,而不是每次要使用它时都必须找到对象的句柄?
答案 0 :(得分:0)
.MAT文件也方便地在其中有一个句柄变量,它覆盖了我当前的句柄。