我为机器人手臂测试创建了一个matlab
GUI。
在程序执行之前,程序会等待一些配置,例如第一个面板用于配置文件输入浏览和结果文件浏览设置,第二个面板用于输入机器人ip adres等等。
我有5个这样的面板,我想要将面板变灰并在点击下一个按钮后逐个打开它们。
我试过了:
set(hObject,'Enable','off');
drawnow;
但是这些解决方案不起作用,因为ENABLE参数不适用于面板(名称'Enable'不是类'uipanel'实例的可访问属性。)。
我找不到面板的任何解决方案。你有什么建议吗? (单击上一个面板上的NEXT按钮后,下一个面板将被遮挡)
答案 0 :(得分:1)
尝试设置uipanel
子Enable
属性:
set(get(hObject,'Children'),'Enable','off')
这将设置所有子对象的启用属性。
更完整的方法是扩展它以检查哪些儿童是uicontrols:
% extract all children
children = get(hObject,'Children');
% only set children which are uicontrols:
set(children(strcmpi ( get (children,'Type'),'UIControl')),'enable','off')