我在我的中实现了各种uimenu
s,uitable
但出现了一个非常烦人的行为。
function createUItable
h = figure
...
uimenu(h,'Label','MenuButton','Callback',@someAction)
end
%---------
function someAction(~,~)
%some action
end
但是在执行回调函数之后,菜单按钮仍然被按下并突出显示,甚至没有,当我滑过下一个菜单按钮时,这个也被触发了!
Matlab Central 也描述了这种行为,但没有解决方案。
我尝试了建议:
function someAction(~,~)
%some action
set(gcbo,'Enable','off')
drawnow
set(gcbo,'Enable','on')
end
这不会改变任何东西。set(gcbo,'Enable','off')
单独可以解决滑动问题,但也会禁用整个按钮,这是我不想要的。我还尝试使用“Checked”、“Visible”和“Interuptible”属性,但没有成功。这个问题一定要知道,有什么提示吗?
我还考虑过使用uicontrol
而不是uimenu
使用按钮,但我没有得到它的工作。
编辑:当我将菜单按钮放入子菜单时,它可以完美运行:
button = uimenu(h,'Label','MenuButton');
uimenu(button,'Label','MenuButton','Callback',@someAction)
Edit2:Apushbutton
也可以,但我怎么能把它放到菜单栏中呢?