我有以下问题。让我们说,我们有一些用Matlab编写的GUI。随它去
mygui.fig
和mygui.m
。
好的,现在我想重写这个gui并保留它的上一个版本。因此,我将这两个文件复制到mygui_new.fig
和mygui_new.m
。
我们都知道,当我们运行something.fig
时,Matlab会尝试查找something.m
以便对我们的操作执行回复。但是,当我试图运行mygui_new.m时,Matlab会尝试从mygui.m读取脚本,并给出警告:
Warning: Name is nonexistent or not a directory: ..\..\matlab\PostProcess\
In path at 110
In addpath at 87
In mygui at 22
In @(hObject,eventdata)SemiSuperviseTool_main('video_name_popupmenu_CreateFcn',hObject,eventdata,guidata(hObject))
In graphics/private/hgloadStructDbl at 95
In /usr/local/MATLAB/R2013a/toolbox/matlab/graphics/hgload.p>hgload at 70
In openfig at 72
In gui_mainfcn>local_openfig at 286
In gui_mainfcn at 159
In mygui_new at 46
因此,我们看到Matlab实际上是从我的新版本脚本开始,但由于某种原因尝试加载旧版本。如果我删除旧文件,GUI将无法运行。
这是我的另一篇文章: No breakpoints after gui figure copying?
我在那里描述的解决方案在这里不起作用。
有什么想法吗? 谢谢!
答案 0 :(得分:1)
FIG文件存储名称与原始M文件相关联的标记和回调。因此,要真正复制,必须至少使用GUIDE为新的FIG文件编辑这些更改。