如何在MATLAB GUI

时间:2016-07-29 11:28:01

标签: matlab user-interface

我为机器人手臂测试创建了一个matlab GUI。

在程序执行之前,程序会等待一些配置,例如第一个面板用于配置文件输入浏览和结果文件浏览设置,第二个面板用于输入机器人ip adres等等。

我有5个这样的面板,我想要将面板变灰并在点击下一个按钮后逐个打开它们。

我试过了:

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

但是这些解决方案不起作用,因为ENABLE参数不适用于面板(名称'Enable'不是类'uipanel'实例的可访问属性。)。

我找不到面板的任何解决方案。你有什么建议吗? (单击上一个面板上的NEXT按钮后,下一个面板将被遮挡)

1 个答案:

答案 0 :(得分:1)

尝试设置uipanelEnable属性:

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')