如何在Matlab GUI中的call_backs之间传递值

时间:2014-11-06 11:05:03

标签: matlab user-interface

我是Matlab的新手。现在的任务是在GUI中显示标题,并在脚本运行时不断更新标题。

我创建了一个名为Interface的GUI,因此Main中的脚本是

Interface(title);
GUI中的

function Interface_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Interface (see VARARGIN)

% Choose default command line output for Interface
handles.output = hObject;
handles.title = varargin{1};
% Update handles structure
guidata(hObject, handles);

我将标题传递给handles.title。

在静态文本的call_back函数中:

title =get( handles.title,'Value');
set(handles.text1,'String',title');

它一直给我错误信息说我正在读“尝试引用非结构数组的字段。”

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我认为你只需要:

set(handles.text1,'String',handles.title); % assumes the title input (and therefore handles.title) is a string
guidata(hObject,handles);

请确保将静态文本的回调函数作为输入传递handles。另外,您没有说明handles.text1是如何定义的,我假设您在尝试设置String属性之前已经定义了它。