Я установил WindowButtonMotionFcn
на мой обратный вызов, который отображает три графика, с данными в зависимости от положения мыши. Однако для MATLAB это слишком сложно, потому что после перемещения мыши немного, графический интерфейс перестает отвечать на запросы.Matlab gui WindowButtonMotionFcn сбой при вызове слишком часто?
Я использую этот код (скопированные части от кого-то):
set(handles.figure1, 'windowbuttonmotionfcn', @hover_Callback);
function hover_Callback(hObject, handles, eventdata)
inside = false;
pos = get(handles.axes1, 'currentpoint');
xlim = get(handles.axes1, 'XLim');
ylim = get(handles.axes1, 'YLim');
if (pos(1,1) > max(xlim(1), 1) && ...
pos(1,1) < xlim(2) && ...
pos(1,2) > ylim(1) && ...
pos(1,2) < ylim(2))
inside = true;
end
if ~inside
return
end
ix = round(pos(1,1));
iy = round(pos(2,2));
axes(handles.axes2); cla; plot(squeeze(t2(ix,iy,:)), squeeze(d2(ix,iy,:)));
axes(handles.axes3); cla; plot(squeeze(t3(ix,iy,:)), squeeze(d3(ix,iy,:)));
axes(handles.axes4); cla; plot(squeeze(t4(ix,iy,:)), squeeze(d4(ix,iy,:)));
Это вызывает мой графический интерфейс перестает отвечать на запросы, без кодов ошибок. Если я уйду из него и начну его снова, все MATLAB перестанут отвечать. Кто-нибудь знает, что может произойти, и как я могу это исправить? Может быть, я как-то забиваю себе память?
Очень хорошо объяснено, еще раз спасибо за вашу помощь. – Leo
@Leo Ваш прием. Я рад, что это сработало - я не был уверен, что это будет сделано. – chappjc
Это был мгновенный рельеф! – Leo