【发布时间】:2016-02-23 21:19:01
【问题描述】:
我正在 MATLAB GUI 中的回调函数中运行 drawnow 语句来更新按钮的状态。在回调开始时(运行时间长),我更改了按钮的属性并使用drawnow 强制更新。在正确更新时,该按钮仍呈现为“按下”而不是“禁用”。回调完成后,按钮再次更新,现在呈现为“禁用”。
采取以下最小(非)工作示例:
function simple_example()
h = figure();
% add a button, give it some properties and a callback
uicontrol(h,...
'Style','pushbutton',...
'String','I am enabled',...
'Units','normalized',...
'Position',[0.5 0.5 0.4 0.4],...
'Callback',@btn_callback);
end
function btn_callback(hObject, ~)
set(hObject,'Enable','off');
set(hObject,'String','I am disabled');
drawnow;
pause(3);
end
有没有办法改变这种行为并在回调仍在执行时让按钮显示为禁用?
【问题讨论】:
标签: matlab matlab-guide