我正在使用根据此代码callback function in gui does not know handles
的回调函数但是在使用回调函数调用的函数中,我无法更改句柄结构中的数据。
handles.waitbar.text = 'Reading images ...';
handles = readStackAndCreateFokusFunktion( ...
handles , ...
@(value, maxValue) ...
z_WaitBarUpdate(value, maxValue, handles));
在名为I的函数中修改句柄,但函数z_WaitBarUpdate
中没有使用它。
function handles = readStackAndCreateFokusFunktion( handles, fcallback )
handles.waitbar.text = 'Extracting number of images in calibration file ...';
guidata(handles.output,handles);
% calls z_WaitBarUpdate as extpected, but the text is still 'Reading images ...'
fcallback(0, 100);
答案 0 :(得分:0)
回调函数中句柄的简单更新解决了这个问题:
function z_WaitBarUpdate(value, maxValue, handles)
handles=guidata(handles.output); % <- added
if ishandle(handles.waitbar.handle)
waitbar(value/maxValue,handles.waitbar.handle,handles.waitbar.text);
end
答案 1 :(得分:0)
你必须在最后一次更新句柄结构
guidata(handles.output);