2013-12-09 76 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

這是解決。問題是因爲我把編輯框放在按鈕組中,它沒有工作。在我把編輯框放在面板後。它工作.. –