poster
2019-12-10, 20:48
我正在使用在MATLAB中使用GUIDE的gui,从我所读的内容看来,MATLAB经常根据计时器更新UI控件。有没有一种方法可以强制它更新UI控件,所以我可以使其在函数中间进行更新?现在,我有一个简化的功能,例如
set(handles.lblStatus,'String','Processing...') %function that takes a long time set(handles.lblStatus,'String','Done') 由于MATLAB在回调函数期间不会更新GUI,因此用户在长时间等待后才看到“完成”,而从未看到“正在处理”。我尝试在第一个设置之后添加guidata(hObject, handles) ,希望它会强制更新屏幕,但事实并非如此。
回答:
尝试致电DRAWNOW (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/drawnow.html) 。
set(handles.lblStatus,'String','Processing...') drawnow %function that takes a long time set(handles.lblStatus,'String','Done')
更多&回答... (https://stackoverflow.com/questions/3569172)
set(handles.lblStatus,'String','Processing...') %function that takes a long time set(handles.lblStatus,'String','Done') 由于MATLAB在回调函数期间不会更新GUI,因此用户在长时间等待后才看到“完成”,而从未看到“正在处理”。我尝试在第一个设置之后添加guidata(hObject, handles) ,希望它会强制更新屏幕,但事实并非如此。
回答:
尝试致电DRAWNOW (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/drawnow.html) 。
set(handles.lblStatus,'String','Processing...') drawnow %function that takes a long time set(handles.lblStatus,'String','Done')
更多&回答... (https://stackoverflow.com/questions/3569172)