需要按两次按钮才能在 MATLAB GUI 中更新变量
Need to press button twice to update variable in 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
我等待用户按下两个是或否按钮之一。在每个回调中,我将变量 handles.YESNO
分别更新为 set(handles.YESNO,'String','Y');
或 set(handles.YESNO,'String','N');
。
当我执行我的 MATLAB GUI 时,我必须按两次 YES 按钮才能使该值生效。有什么 tips/hints 可以解决这个问题吗?
我相信 waitforbuttonpress 屏蔽了您的回调。
相反,使用 uiwait 阻止您的执行,等待您的图形关闭或按钮回调调用的 uiresume。
我有以下代码作为我的 MATLAB GUI 代码的一部分:
k = waitforbuttonpress;
if k==0
if strcmp(get(handles.YESNO,'String'),'Y')
hint = 1;
else
hint = 0;
end
else
hint = 0;
end
我等待用户按下两个是或否按钮之一。在每个回调中,我将变量 handles.YESNO
分别更新为 set(handles.YESNO,'String','Y');
或 set(handles.YESNO,'String','N');
。
当我执行我的 MATLAB GUI 时,我必须按两次 YES 按钮才能使该值生效。有什么 tips/hints 可以解决这个问题吗?
我相信 waitforbuttonpress 屏蔽了您的回调。 相反,使用 uiwait 阻止您的执行,等待您的图形关闭或按钮回调调用的 uiresume。