dyn*_*mic 9 matlab user-interface figure
我试图把一些.fig和他们相应的.m文件放在包中.
我有:
 +ui/mainWindow.fig
 +ui/mainWindow.m
但是当我尝试运行mainWindow.figMatlab时,会从GUIDE中输出错误:
  Error using feval
  Undefined function or variable mainWindow
有趣的是,如果我使用其完全限定名称进行调用:
 ui.mainWindow
窗口正常显示(但所有回调都无法正常工作).
我在尝试import ui.*  之前尝试过.
请注意,我想这样做namespace.我不希望将我的整个应用程序放在Matlab的全局范围内.
说明
基本问题是MATLAB GUIDE不知道包.通常,它会自动管理回调名称,保持.m和.fig文件同步,每个人都很高兴.当数字在一个包中时,它无法正确更新.fig属性中的回调- 这些仍然指向非限定名称mainWindow而不是正确的ui.mainWindow.随后,所有回调都失败了.
解决方法
围绕这一个的两种方法:
输出你的数字:Guide -> File -> Export.将此文件放在+ ui文件夹中.打开文件,并使用@(hObject,eventdata)ui.mainWindow执行find-replace替换@(hObject,eventdata)mainWindow的所有实例.
或者,您可以直接在GUIDE内手动更新引用,而无需导出.每个按钮和元件,Right Click -> Property Inspector然后编辑"回调"字段,替换主窗口与ui.mainWindow.
就个人而言,我更喜欢第一种解决方案,因为您可以使用单个find-replace命令替换所有出现的内容.
| 归档时间: | 
 | 
| 查看次数: | 1044 次 | 
| 最近记录: |