Main Content

uitabgroup

タブ付きパネルのコンテナーの作成

説明

tg = uitabgroup は、現在の Figure 内にタブ グループを作成し、TabGroup オブジェクトを返します。利用可能な Figure がない場合は、MATLAB® が関数 figure を呼び出して Figure を作成します。タブ グループはタブのコンテナーです。これらによって、選択されているタブを識別し、ユーザーが他のタブを選択したときに検出できます。

tg = uitabgroup(Name,Value) は 1 つ以上の名前と値の引数を使用して、タブ グループのプロパティ値を指定します。たとえば、タブ グループの位置、またはタブ ラベルの位置を指定できます。

tg = uitabgroup(parent) は、指定された親コンテナー内にタブ グループを作成します。親コンテナーには、関数 figure または関数 uifigure で作成された Figure か、パネルなどの子コンテナーを指定できます。uitabgroup のプロパティの値は、関数 figure で作成されたアプリと関数 uifigure で作成されたアプリで多少異なります。詳細については、名前と値の引数を参照してください。

tg = uitabgroup(parent,Name,Value) は、親コンテナーと 1 つ以上のプロパティ値を指定します。

すべて折りたたむ

1 つのタブ グループと 2 つのタブを含む Figure を作成します。

f = figure;
tabgp = uitabgroup(f,"Position",[.05 .05 .3 .8]);
tab1 = uitab(tabgp,"Title","Settings");
tab2 = uitab(tabgp,"Title","Options");

Tab group with two tabs in a figure window. The tabs have titles "Settings" and "Options". The "Settings" tab is selected.

現在選択されているタブを取得します。

currenttab = tabgp.SelectedTab
currenttab = 

  Tab (Settings) with properties:

              Title: 'Settings'
    BackgroundColor: [0.9400 0.9400 0.9400]
           Position: [0.0119 0.0089 0.9702 0.9107]
              Units: 'normalized'

Scrollable プロパティによって、境界線外にコンポーネントがあるタブの内部でのスクロールが有効になります。スクロールを使用するには、この Figure が関数 uifigure で作成されていなければなりません。App Designer では、このタイプの Figure がアプリの作成に使用されます。

1 つのタブを含むタブ グループを作成します。6 つの UI コンポーネントをタブに追加し、最初の 3 つがタブの上縁から外れるようにします。

fig = uifigure;
tg = uitabgroup(fig,"Position",[20 20 196 145]);
t = uitab(tg,"Title","Member Information");
ef1 = uieditfield(t,"Text","Position",[11 165 140 22],"Value","First Name");
ef2 = uieditfield(t,"Text","Position",[11 140 140 22],"Value","Last Name");
ef3 = uieditfield(t,"Text","Position",[11 115 140 22],"Value","Address");
dd = uidropdown(t,"Position",[11 90 140 22],"Items",{'Male','Female'});
cb = uicheckbox(t,"Position",[11 65 140 22],"Text","Member");
b = uibutton(t,"Position",[11 40 140 22],"Text","Send");

Tab group with one tab labeled "Member Information" in a UI figure window. Only the UI components at the bottom of the tab (the drop-down list, check box, and button) are visible.

タブの Scrollable プロパティを "on" に設定して、スクロールを有効にします。既定では、スクロール バーは最上部に表示されます。

t.Scrollable = "on";

Tab group with one tab labeled "Member Information" in a UI figure window. Only the components at the top (the edit fields, drop-down list, and check box) are visible. The tab has a vertical scroll bar.

新規スクリプトで、UI Figure に 2 つのタブをもつタブ グループを作成します。SelectionChangedFcn プロパティを displaySelection という名前の関数のハンドルとして指定します。この関数は、ユーザーがタブ グループ内でタブを切り替えたときに実行されます。

スクリプトの末尾で、MATLAB がコールバック関数に渡す 2 つの入力引数を受け入れる関数 displaySelection を定義します。

  • src — コールバックを実行したコンポーネント

  • event — コールバックをトリガーしたユーザー操作に関する情報

表示されているタブのタイトルをコマンド ウィンドウに表示するコードを、コールバック関数内に記述します。

fig = uifigure;
tg = uitabgroup(fig,"SelectionChangedFcn",@displaySelection);
t1 = uitab(tg,"Title","Data");
t2 = uitab(tg,"Title","Plots");

function displaySelection(src,event)
    t = event.NewValue;
    title = t.Title;
    disp("Viewing the " + title + " tab")
end

スクリプトを実行し、タブを切り替えてタブのタイトルを表示します。

詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。

入力引数

すべて折りたたむ

親コンテナー。関数 figure または関数 uifigure で作成された Figure か、子コンテナーとして指定します。

  • パネル、タブ、およびボタン グループは、いずれのタイプの Figure でもコンテナーとすることができる。

  • グリッド レイアウトは、関数 uifigure で作成された Figure 内でのみコンテナーとすることができる。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

例: uitabgroup(TabLocation='bottom') は、タブ ラベルの位置をタブ グループの最下部に指定します。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: uitabgroup("TabLocation","bottom") は、タブ ラベルの位置をタブ グループの最下部に指定します。

メモ

以下にリストするプロパティは、利用できるプロパティの一部です。完全なリストについては、TabGroup のプロパティ を参照してください。

現在選択されているタブ。Tab オブジェクトとして指定します。このプロパティを使用して、タブ グループ内で現在選択されているタブを特定します。このプロパティを使用すると、タブの既定の選択を設定することもできます。SelectedTab プロパティの既定値は、TabGroup に最初に追加された Tab です。

選択変更コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数は、ユーザーがタブ グループ内で別のタブを選択したときに実行されます。

このコールバック関数は、ユーザーのタブ操作に関する特定の情報にアクセスできます。MATLAB は、この情報を SelectionChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.NewValue は現在選択されているタブを返します。SelectionChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、SelectionChangedData オブジェクトのプロパティを示します。

プロパティ

説明

OldValue

前に選択されていた Tab、または何も選択されていなかった場合は []

NewValue

現在選択されている Tab

Source

コールバックを実行するコンポーネント

EventName

'SelectionChanged'

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

タブ ラベルの位置。'top''bottom''left' または 'right' として指定します。このプロパティは、タブ グループに対するタブ ラベルの位置を指定します。

タブ グループの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。

次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端からタブ グループの外側左端までの距離
bottom親コンテナーの内側下端からタブ グループの外側下端までの距離
widthタブ グループの外側の右端と左端の間の距離
heightタブ グループの外側の上端と下端の間の距離

すべての測定値は、Units プロパティで指定した単位で表されます。

Position の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。

測定の単位。次の表のいずれかの値として指定します。

単位の値説明
'pixels' (uifigure ベースのアプリの既定)

Windows® および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。

  • Windows システムの 1 ピクセルは 1/96 インチです。

  • Macintosh システムの 1 ピクセルは 1/72 インチです。

Linux® システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。

'normalized' (figure ベースのアプリの既定)

これらの単位は親コンテナーを基準として正規化されます。コンテナーの左下隅が (0,0) で、右上隅が (1,1) になります。

'inches'インチ。
'centimeters'センチメートル。
'points'ポイント。1 ポイントは 1/72 インチです。
'characters'

これらの単位は、グラフィックス ルート オブジェクトの既定の uicontrol フォントを基にしています。

  • 文字の幅 = 文字 x の幅。

  • 文字の高さ = 2 行のテキストのベースライン間の距離。

既定の uicontrol フォントにアクセスするには、get(groot,'defaultuicontrolFontName') または set(groot,'defaultuicontrolFontName') を使用します。

MATLAB のほとんどのアプリ作成機能では距離をピクセル単位で測定するため、推奨値は 'pixels' です。親コンテナーのサイズに基づいて再スケーリングされるオブジェクトを作成するには、関数 uigridlayout を使用して作成されたグリッド レイアウト マネージャーをオブジェクトの親にします。詳細については、Lay Out Apps Programmaticallyを参照してください。

バージョン履歴

R2014b で導入

参考

関数

プロパティ