Подтвердить что ты не робот

Force matlab gui для обновления средней функции ui

Я работаю над gui, используя GUIDE в MATLAB, и из того, что я прочитал, похоже, что MATLAB постоянно обновляет элементы пользовательского интерфейса на основе таймера. Есть ли способ заставить его обновить элементы управления пользовательского интерфейса, чтобы я мог обновить его в середине функции? Прямо сейчас у меня есть функция, которая упрощает, что-то вроде

set(handles.lblStatus,'String','Processing...')
%function that takes a long time
set(handles.lblStatus,'String','Done')

Так как MATLAB не обновляет GUI во время функции обратного вызова, пользователь только когда-либо видит "Done" после долгого ожидания и никогда не видит "Обработка". Я попытался добавить guidata(hObject, handles) после первого набора, надеясь, что это заставит экран обновляться, но это не так.

4b9b3361

Ответ 1

Попробуйте вызвать DRAWNOW.

set(handles.lblStatus,'String','Processing...')
drawnow
%function that takes a long time
set(handles.lblStatus,'String','Done')

Ответ 2

Я считаю, что в matlab есть функция drawnow.

drawnow завершает ожидающие события рисования