Matlab按钮继续

时间:2018-05-18 10:11:28

标签: matlab user-interface matlab-figure

在我的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

但是没有工作,因为程序继续而且没有推动它。 我错过了什么?

1 个答案:

答案 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来实现此目的。