Main Content


Create tabbed panel


t = uitab creates a tab inside a tab group and returns the Tab object. If there is no tab group available, MATLAB® calls the figure function to create a figure. Then it creates a tab group in that figure and places the tab inside the tab group.

t = uitab(parent) creates the tab in the specified parent container. The parent container can be a tab group in a figure created with either the figure or uifigure function. Property values for the Tab object vary slightly depending on whether the app is created with the figure or uifigure function. For more information, see Name-Value Arguments.


t = uitab(___,Name,Value) creates a tab with properties specified by one or more name-value arguments. For example, specify the tab title using the Title property. Use this option with any of the input argument combinations in the previous syntaxes.


collapse all

Create a tab group with two tabs in a UI figure. Specify the title of each of the tabs.

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

Create a tab group with two tabs in a UI figure, and customize the appearance of the tabs by specifying property values.

fig = uifigure;
tg = uitabgroup(fig);
t1 = uitab(tg,"Title","Data","BackgroundColor",[0 0.4470 0.7410]);
t2 = uitab(tg,"Title","Plots","BackgroundColor",[0 0.4470 0.7410]);

Query the text color of the Data tab title.

c = t1.ForegroundColor
c = 1×3

     0     0     0

Update the text color to match the tab background color.

t1.ForegroundColor = t1.BackgroundColor;

The Scrollable property enables scrolling within a tab that has components outside its borders. Scrolling is only possible when the parent tab group is in a figure created with the uifigure function. App Designer uses this type of figure for creating apps.

Create a tab group containing one tab. Add six UI components to the tab, with the first three lying outside the upper border of the tab.

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

UI figure window with a tab group with one tab. The UI components in the tab are partially in view and the tab has no scroll bar.

Enable scrolling by setting the Scrollable property of the tab to 'on'. By default, the scroll box displays at the top.

t.Scrollable = 'on';

UI figure window with a tab group with one tab. The tab has a scroll bar that is scrolled to the top.

In a new script, create a tab group with two tabs in a UI figure. Specify the SelectionChangedFcn property as a handle to a function named displaySelection. This function executes when a user switches between tabs in the tab group.

At the bottom of the script, define the displaySelection function to accept the two input arguments that MATLAB passes to callback functions:

  • src — The component that executed the callback

  • event — Information about the user interaction that triggered the callback

In the callback function, write code to display the title of the visible tab in the Command Window.

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

Run the script and toggle between tabs to display the tab titles.

For more information, see Create Callbacks for Apps Created Programmatically.

Input Arguments

collapse all

Parent container, specified as a tab group. The tab group can be a child of a figure created with either the figure or uifigure function.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: uitab(Title="Options") specifies that the tab title is Options.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: uitab("Title","Options") specifies that the tab title is Options.


The properties listed here are a subset of the available properties. For the full list, see Tab Properties.

Title, specified as a character vector, string scalar, or categorical array. If you specify this property as a categorical array, MATLAB displays only the first element in the array.

MATLAB does not interpret a vertical slash ('|') character as a line break, it displays as a vertical slash in the title.

If you want to specify a Unicode® character, pass the Unicode decimal code to the char function. For example, ['Multiples of ' char(960)] displays as Multiples of π.

Background color, specified as an RGB triplet, a hexadecimal color code, or one of the color options listed in the table.

RGB triplets and hexadecimal color codes are useful for specifying custom colors.

  • An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1]; for example, [0.4 0.6 0.7].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes "#FF8800", "#ff8800", "#F80", and "#f80" are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

This property is read-only.

Location and size of the tab, returned as a four-element vector of the form [left bottom width height]. This table describes each element in the vector.

leftDistance from the inner left edge of the tab group to the inner left edge of the tab
bottomDistance from the inner bottom edge of the tab group to the inner bottom edge of the tab
widthDistance between the right and left inner edges of the tab
heightDistance between the top and bottom inner edges of the tab

All measurements are in units specified by the Units property.


These are some important points to consider when using the Position property:

  • Position values are affected by the length of the tab title and the TabLocation property of the parent TabGroup object.

  • Position values are relative to the drawable area of the parent TabGroup, which is the area inside its borders.

  • If the tab is in a grid layout manager, the value of the Position property is not immediately updated. To use the Position value to resize the tab children relative to the tab size, use a SizeChangedFcn callback.

Units of measurement, specified as one of the values in this table.

Units ValueDescription
'pixels' (default in uifigure-based apps)

Distances in pixels are independent of your system resolution on Windows® and Macintosh systems:

  • On Windows systems, a pixel is 1/96th of an inch.

  • On Macintosh systems, a pixel is 1/72nd of an inch.

On Linux® systems, the size of a pixel is determined by your system resolution.

'normalized' (default in figure-based apps)

These units are normalized with respect to the parent container. The lower-left corner of the container maps to (0,0) and the upper-right corner maps to (1,1).

'points'Points. One point equals 1/72nd of an inch.

These units are based on the default uicontrol font of the graphics root object:

  • Character width = width of the letter x.

  • Character height = distance between the baselines of two lines of text.

To access the default uicontrol font, use get(groot,'defaultuicontrolFontName') or set(groot,'defaultuicontrolFontName').

The recommended value is 'pixels', because most MATLAB app building functionality measures distances in pixels. You can create an object that rescales based on the size of the parent container by parenting the object to a grid layout manager created using the uigridlayout function. For more information, see Lay Out Apps Programmatically.

Version History

Introduced in R2014b

See Also