我正在尝试使用我在MATLAB中使用GUID做的gui,当我双击.fig文件并填写文本字段并按下按钮时,我有以下错误消息,但如果我右键单击在它上面并选择使用GUIDE编辑然后按下运行图(绿色三角形),当我填充值并按下按钮时,它正常工作并给我结果。
错误讯息:
Attempt to reference field of non-structure array.
Error in FYP>pushbutton1_Callback (line 474)
d1min = str2double(get(handles.d1min,'String'));
Error in gui_mainfcn (line 96)
feval(varargin{:});
Error in FYP (line 16)
gui_mainfcn(gui_State, varargin{:});
Error in
@(hObject,eventdata)FYP('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
答案 0 :(得分:1)
作为评论的扩展,以下是文档所说的关于GUIDE生成的.fig和.m文件的内容(可用here):
默认情况下,第一次保存或运行GUI时,GUIDE会存储GUI 在两个文件中:
图片文件,扩展名为.fig,包含完整说明 GUI布局和每个UI组件,如按钮,轴, 面板,菜单等。 FIG文件是二进制文件,你不能 修改它,除非通过更改GUIDE中的布局。图文件是 MAT文件的专业化。请参阅编写自定义应用程序以进 并编写MAT文件以获取更多信息。
扩展名为.m的代码文件,最初包含初始化 用于控制GUI行为的一些回调的代码和模板。您 通常将为UI组件编写的回调添加到此文件中。 由于回调是函数,GUI代码文件永远不会是 MATLAB®脚本。
因此,当您看到需要运行.m文件才能启动GUI时。希望现在有点清楚了:))