用户界面-启用和禁用GUI按钮Matlab



这是一个非常奇怪的问题,因为我很确定逻辑是正确的,但它仍然不工作。因此,当GUI启动时,在开始函数中,我使用以下代码对每个按钮(Kbutton、Bbutton等)设置大多数按钮停用:

set(handles.Kbutton,'Enable','off');
set(handles.Bbutton,'Enable','off');

然后,当用户单击窗体中的任何单元格时,我使用单元格选择回调来获取有关单元格内容的信息,并重新激活从此可以使用的按钮:

set(handles.Kbutton,'Enable','on');
set(handles.Bbutton,'Enable','on');

到目前为止一切都很好。然后用户点击一个按钮,比如Kbutton,底层函数通过按钮的回调函数被执行。一旦方法准备好了,我想将按钮返回到它们的初始状态,即不激活。所以逻辑告诉我,重新将初始代码行放在回调函数的末尾,然后完成:

set(hObject,'Enable','off');
drawnow;
set(handles.BButton,'Enable','off');
drawnow;

上面代码片段中的第一行代码,是指触发回调的按钮,而BButton是GUI中的任何其他按钮。

由于某些奇怪的原因,只有第二个被关闭。也就是说,触发回调的按钮一直处于启用状态:/

有人遇到同样的问题吗?什么好主意吗?

Thanks in advance

尝试更改

set(hObject,'Enable','off');

set(handles.Kbutton,'Enable','off');

点击tools =>gui options =>Generate FlG file and MATLAB file

最新更新