2013-12-09 72 views
0

我想制作一个Matlab GUI。设置Matlab GUI?

这里是我的GUI

enter image description here

在我的GUI的设计有2组按钮,1个命令按钮,3个编辑框和2个单选按钮。

所以,我想:

1 >>如果我访问的“收音机1”,那么“无线2”成为隐形(不能accesed),并用“组按钮2(在组Button2的所有属性) “(变得不可见/无法表达)。

2 >>如果我在Group Button1中访问radio2,那么“radio1”和“编辑框1”无法接受。

3 >>如果我accesed组按钮2(编辑框2和3),则在组按钮所有属性1变得不可见/不能accesed。

如何做到这一点。因为在我的Matlab的文件中,有只创造了COMAND按钮功能..

Thankss

我真的很感激所有的答案:)

+1

您可以使用'set(handle_name,property,property_value)'设置属性并使用'get(handle_name,property)'获取属性。有关更多信息,请参阅[uicontrol properties](http://www.mathworks.com/help/matlab/ref/uicontrol_props.html)。作为提示,请查看Enable属性。 – DreamBig

+0

您可能需要添加[drawnow](http://www.mathworks.com/help/matlab/ref/drawnow.html)命令,以便刷新gui。 – user2482876

回答

1

如何这样做..因为在我的Matlab文件中,只有创建了按钮功能的命令。

您可以创建自己的子功能d使用它们作为回调函数:

function MyGUI() 

% Create the GUI 
gui = createMyGUILayout(); 

% Assign Callback Function 
set(gui.SaveBtn, 'Callback', @SaveSettings_callback); 

% Declare Callbacks 
    function SaveSettings_callback(~, ~) 
     config = SaveConfig(gui); %#ok 
     [file, dir] = uiputfile('config.mat','Save Configuration'); 
     if ischar(dir) 
      save([dir file], 'config'); 
     end 
    end 

end 
+0

你知道我为什么不能禁用我的编辑框。这是我的禁用编辑框的代码。我试过“set(handles.edit2,'Enable','inactive');”和“set(handles.edit2,'Enable','off');”但没有效果。 edit2是我的文本框的标记.. –

+0

set(...,'Enable','off');应该真的有用。你确定你有合适的手柄吗?如在:'handles.edit2 = uicontrol(...)' –

+0

这是解决。问题是因为我把编辑框放在按钮组中,它没有工作。在我把编辑框放在面板后。它工作.. –