修改matlab GUI中fig和m文件名修改流程及注意事项

一、修改fig和m文件名

二、Figure1属性:进入figure1中的property inspector中Name属性改为你要修改的文件名。

三、修改m文件中的内容

   注:红色字体test_main_window是要修改的内容,改为你要修改的文件名。

   1)修改varargin前面的文件名,把test_main_window改为你要修改的文件名。

function varargout = test_main_window(varargin)

 

   2)修改function varargout = test_main_window(varargin)函数中的相关内容,红色字test_main_window改为你要修改的文件名。

 

注:这一点很重要,很多人会忽略修改这部分的内容。

 

gui_State = struct('gui_Name',       mfilename, ...

                   'gui_Singleton',  gui_Singleton, ...

                   'gui_OpeningFcn', @test_main_window_OpeningFcn, ...

                   'gui_OutputFcn',  @test_main_window_OutputFcn, ...

                   'gui_LayoutFcn',  [] , ...

                   'gui_Callback',   []);

 

3)修改OpeningFcn函数前面对应的文件名,把test_main_window改为你要修改的文件名。

function test_main_window_OpeningFcn(hObject, eventdata, handles, varargin)

 

4)修改OutputFcn函数前面对应的文件名test_main_window,改为你要修改的文件名。

function varargout = test_main_window_OutputFcn(hObject, eventdata, handles) 

 

5)再把每个控件callback函数重新在m文件中重新定位,否则,运行的时候找不到callback函数的调用位置,会出现错误。方法是进入各控件属性中,找到callback属性,重新点击callback后的图标即可。

 

总结一下,就是把原来的名字替换成你现在想改的名字,然后进行第五步即可

第五步非常重要,虽然你不改也可以运行,不报错,但是这个属于潜在的错误

当你把这个GUI打包成exe文件的时候,你会发现会报错如下:

修改matlab GUI中fig和m文件名修改流程及注意事项

我的原GUI两个文件是test.m和test.fig,现在想换一个名字batchpro,我直接把文件名改成batchpro.m和batchpro.fig,然后将batchpro.m文件里面的所有test换成新名字batchpro,直接在matlab里面运行,不会报错

但是当你把这个做好的GUI程序打包成exe可执行文件的时候,你会发现报错如上图,居然还有上一个文件名test的痕迹,愿意就是因为你没进行第五步,batchpro.fig文件里面还有test的记录

打开batchpro.fig (打开方式:Open in GUIDE)

然后双击你的控件,找到callback

修改matlab GUI中fig和m文件名修改流程及注意事项

你会发现这个时候小红框里面还是你之前的文件名字test,这里是因为我已经把它改过来了

直接点击绿色方框的图标即可。