在我的main函数中,我调用一个函数,在继续程序之前需要做一些事情,我想添加一个按钮,如果结果正确则允许继续,或者重新启动函数来重做计算。 我尝试这样添加第一个允许继续程序的按钮
h1 = figure(1);
% plot stuff...
button = uicontrol('Parent', h1,'Style','pushbutton',...
'Units','normalized',...
'Position',[0.4 0.3 0.2 0.1],...
'String','Display Difference',...
'Callback',@button_callback);
function button_callback(hObject,eventdata)
if get(hObject,'Value') == 0
%do nothing
else
return
end
end
但是没有工作,因为程序继续而且没有推动它。 我错过了什么?
答案 0 :(得分:2)
您必须明确告诉Matlab停止并等待用户的输入。
您可以使用uiwait
command
所以代码就是(即使我没有测试它):
h1 = figure(1);
% plot stuff...
button = uicontrol('Parent', h1,'Style','pushbutton',...
'Units','normalized',...
'Position',[0.4 0.3 0.2 0.1],...
'String','Display Difference',...
'Callback',@button_callback);
uiwait(h1);
function button_callback(hObject,eventdata)
if get(hObject,'Value') == 0
%do nothing
else
uiresume;
return
end
end
在Matlab中,您还可以使用predefined dialog box来实现此目的。