2012-06-18 59 views
6

私は、最初のタブが入力を読み取るためのタブ付きのGUIを作成したいと考えています。そして、入力がGUIに表示されます。ユーザは、GUIからデータを選択し、アルゴリズムへの入力として与えられるべきである。また、ユーザは別のタブで藻類のパラメータを選択することもできます。 3番目のタブでは、ユーザーは結果のプロットを見ることができます。MatLabでタブ付きGUIを作成するにはどうすればよいですか?

MatLab内でプログラミングを使用して、またはGUIDEを使用してタブ付きGUIを作成するにはどうすればよいですか?ここで

+2

http://stackoverflow.com/questions/9859739/create-tabs-in-a-matlab-gui –

答えて

10

タブを作成するために半文書化機能UITABを使った簡単な例です:

function tabbedGUI() 
    %# create tabbed GUI 
    hFig = figure('Menubar','none'); 
    s = warning('off', 'MATLAB:uitabgroup:OldVersion'); 
    hTabGroup = uitabgroup('Parent',hFig); 
    warning(s); 
    hTabs(1) = uitab('Parent',hTabGroup, 'Title','Data'); 
    hTabs(2) = uitab('Parent',hTabGroup, 'Title','Params'); 
    hTabs(3) = uitab('Parent',hTabGroup, 'Title','Plot'); 
    set(hTabGroup, 'SelectedTab',hTabs(1)); 

    %# populate tabs with UI components 
    uicontrol('Style','pushbutton', 'String','Load data...', ... 
     'Parent',hTabs(1), 'Callback',@loadButtonCallback); 
    uicontrol('Style','popupmenu', 'String','r|g|b', ... 
     'Parent',hTabs(2), 'Callback',@popupCallback); 
    hAx = axes('Parent',hTabs(3)); 
    hLine = plot(NaN, NaN, 'Parent',hAx, 'Color','r'); 

    %# button callback 
    function loadButtonCallback(src,evt) 
     %# load data 
     [fName,pName] = uigetfile('*.mat', 'Load data'); 
     if pName == 0, return; end 
     data = load(fullfile(pName,fName), '-mat', 'X'); 

     %# plot 
     set(hLine, 'XData',data.X(:,1), 'YData',data.X(:,2)); 

     %# swithc to plot tab 
     set(hTabGroup, 'SelectedTab',hTabs(3)); 
     drawnow 
    end 

    %# drop-down menu callback 
    function popupCallback(src,evt) 
     %# update plot color 
     val = get(src,'Value'); 
     clr = {'r' 'g' 'b'}; 
     set(hLine, 'Color',clr{val}) 

     %# swithc to plot tab 
     set(hTabGroup, 'SelectedTab',hTabs(3)); 
     drawnow 
    end 
end 

tab1 tab2 tab3

+0

こんにちはアムロ、それは私をたくさん助けたおかげでたくさん。 –

+0

これは顕著だった。この例を提供してくれてありがとう! –

0

あなたはまた、の助けを借りてGUIを作成するGUIDEからタブを作成することができます私が書いたMatlab File Exchangeから入手可能なユーティリティです。

使い方は非常に簡単です:

  1. タブに設定されたタグを持つペインを作成しますか?どこ?任意の文字または数字(例:TabA)です。このメインペインは空のままにして、タブグループ(uitabgroup)のサイズと位置を決定します。
  2. メインペインの名前で始まるタグ名を持つ追加のペインを作成します。他のすべてのコントロールは、これらのペインに追加する必要があります。ガイド生成された関数で
  3. は、以下の追加xxx_OpeningFcn:

    handles.tabManager = TabManager(hObjectは)を、

追加ペインの場所は重要ではありませんが、彼らがメインペインと同じ場所にある場合、GUIを編集することが一般的に簡単です。ガイドポップアップメニューから「Send to back」コマンドを使用して、ペインを繰り返してオーバーレイしてもペインを編集できます。

Tab Group Place holderMain Tab Supplementary TabResulting GUI

関連する問題