需要按两次按钮才能在MATLAB GUI中更新变量

时间:2015-10-13 18:16:09

标签: matlab user-interface matlab-guide handles

我将以下代码作为MATLAB GUI代码的一部分:

k = waitforbuttonpress;
if k==0               
   if strcmp(get(handles.YESNO,'String'),'Y')

        hint = 1;
    else
        hint = 0;
    end                
else
    hint = 0;
end

我等待用户按下两个YES或NO按钮之一。在每个回调中,我将变量handles.YESNO分别更新为set(handles.YESNO,'String','Y');set(handles.YESNO,'String','N');

当我执行MATLAB GUI时,我必须按两次YES按钮才能使值生效。有任何提示/提示可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我相信waitforbuttonpress会掩盖你的回调。 相反,使用uiwait来阻止你的执行,等待你的数字关闭,或者通过按钮回调来调用uiresume。