Я построил этот графический интерфейс в Matlab для взаимодействия с данными. Я создал объект среды данных для облегчения взаимодействия с данными. Этот объект запускает события, и я хочу, чтобы GUI прослушивал некоторые из этих событий. Итак, как вы можете видеть в приведенном ниже коде, я использую addlistener команды, чтобы связать событие с локальной функцией. Проблема в том, что эта локальная функция не имеет доступа к ручкам GUI, есть ли у вас какие-либо мысли о том, как решить эту проблему? СпасибоДоступ к gui-дескрипторам в функции обратного вызова, вызванной объектом за пределами gui в Matlab
function varargout = myGUI(varargin)
...
end
function varargout = myGUI_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
dataEnv = getappdata(hObject.Parent, 'ratData');
addlistener(dataEnv,'TrialChanged',@respond_TrialChanged);
end
function respond_TrialChanged(dataEnv, eventData)
do_something(handles) % I want to access the GUI handles here
end
function do_something(handles)
...
end
Это не кажется мне самым элегантным способом решения этой проблемы, но это работает очень хорошо! Благодаря! – PierreE