MATLAB GUI - 如何在代码中删除CreateFcn回调?

时间:2016-08-09 02:48:19

标签: matlab matlab-guide

我正在学习MATLAB的GUIDE gui编程。我注意到当我在图中放置一些对象时,相应的'CreateFcn'回调函数正在关联的.m文件中创建。 MATLAB的注释声明在创建对象时执行此函数(我认为这是对象的构造函数)。

但是,我注意到并非所有对象都有这个'CreateFcn'构造函数。静态文本对象似乎没有此回调函数。到目前为止,似乎这个函数只会使代码更难以阅读。因此,我很好奇我是否可以删除。

通过删除它,我倾向于在我的代码中出现错误,指出无法找到该功能。所以我的问题是:是否可以删除'CreateFcn'方法来整理我的代码?

谢谢,

2 个答案:

答案 0 :(得分:3)

当然有可能。

双击对象以打开检查器窗口,找到“CreateFcn”属性并将其值设置为空字符串。然后转到.m文件并删除CreateFcn的代码。这样MATLAB就不会再抱怨丢失的CreateFcn了。

CreateFcn本身并不是一个构造函数,因为它已经在设置了对象的所有属性之后发生。它更像是一个可选的post-constructor事件,它为用户提供了动态进一步自定义对象初始行为的机会。例如,您可以根据对象出现的背景颜色在创建时自定义对象的颜色。对于大多数控件对象,默认行为可能已经足够好了。因此,您可以安全地删除这些CreateFcns,直到找到使用它的好借口。

答案 1 :(得分:0)

1)转到视图->属性检查器 2)展开创建和删除控件,从CreateFcn和DeleteFcn删除文本3)关闭属性检查器,保存各自的GUI(不要忘记保存) 4)删除m脚本中的回调。