Matlab 按下按钮继续



在我的主函数中,我调用了一个在继续程序之前需要做一些事情的函数,我想添加一个按钮,如果结果正确,它允许继续或重新启动函数以重做计算。 我尝试以这种方式添加第一个按钮,该按钮允许继续程序

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

但是不起作用,因为程序在没有推动它的情况下也继续。 我错过了什么?

你必须明确地告诉 Matlab 停止并等待用户的输入。 您可以使用uiwait命令执行此操作

所以代码将是(即使我没有测试它(:

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 中,还有预定义的对话框可用于此目的。

最新更新