科研菜鸟分享 http://blog.sciencenet.cn/u/sanshiphy 聚沙成塔,集腋成裘 leilphy@gmail.com

博文

Matlab:学习GUI(Reference to non-existent field的问题)

已有 21370 次阅读 2015-3-20 14:51 |个人分类:技术备忘录|系统分类:科研笔记| MATLAB, gui, handles

有时我们在程序中自定义一个函数,对handles数据进行修改,然后guidata保存,可是运行后程序提示:“Reference to non-existent field….”之类的错误,这是怎么回事呢?该错误以下例说明:

如图,建立一个文本框,在OpeningFcn函数中设定显示值为1.



function untitled1_OpeningFcn(hObject, eventdata, handles,varargin)

handles.output =hObject;

initialize(hObject,handles);   % 设定文本框显示值handles.x的值为1

set(handles.edit1,handles.x);  % 文本框显示为1

% Updatehandles structure

guidata(hObject,handles);

 

function initialize(fig_handle,handles)

handles.x=1;

guidata(fig_handle,handles);


运行后提示错误:




 “Reference to non-existent field x’”,提示说找不到定义的x.很明显initialize函数并没有把handles.x传递给全局变量handles. handles虽然是全局变量,但还没有全局到所有子函数都是可见的。像callback这些关于component的函数,handles是可见的。但是,用户自定义的函数,handles是不可见的,用户不能自定义子函数中修改handles的值







https://wap.sciencenet.cn/blog-200199-875845.html

上一篇:Matlab: 学习GUI (使用GUIDE时需注意的几个问题)
下一篇:书摘(2015-4-28)司马光论德才
收藏 IP: 159.226.234.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-29 13:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部