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



我有以下代码作为我的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按钮才能使值生效。有什么技巧/提示来克服这个问题?

我相信waitforbuttonpress会屏蔽你的回调。相反,使用uiwait来阻塞执行,等待图形关闭或按钮回调调用的uiresume。

最新更新