uitab
Create tabbed panel
Description
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(
creates the tab in the
specified parent container. The parent container can be a tab group in a figure
created with either the parent
)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(___,
creates a tab with properties specified by one or more name-value arguments. For
example, specify the tab title using the Name,Value
)Title
property. Use this
option with any of the input argument combinations in the previous syntaxes.
Examples
Create Tabs
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");
Set and Access Tab Property Values
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;
Create Scrollable Tab
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');
Enable scrolling by setting the Scrollable
property
of the tab to 'on'
. By default, the scroll box displays
at the top.
t.Scrollable = 'on';
Program Response to Switching Tabs
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 callbackevent
— 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") end
Run the script and toggle between tabs to display the tab titles.
For more information, see Create Callbacks for Apps Created Programmatically.
Input Arguments
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
.
Note
The properties listed here are a subset of the available properties. For the
full list, see Tab
.
Title
— Title
character vector | string scalar | categorical array
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
π.
BackgroundColor
— Background color
[0.94 0.94 0.94]
(default) | RGB triplet | hexadecimal color code | 'r'
| 'g'
| 'b'
| ...
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 from0
toF
. 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 Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan"
| "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
Position
— Location and size of tab
[left bottom width height]
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.
Element | Description |
---|---|
left | Distance from the inner left edge of the tab group to the inner left edge of the tab |
bottom | Distance from the inner bottom edge of the tab group to the inner bottom edge of the tab |
width | Distance between the right and left inner edges of the tab |
height | Distance between the top and bottom inner edges of the tab |
All measurements are in units specified by the Units
property.
Note
These are some important points to consider when using the Position
property:
Position
values are affected by the length of the tab title and theTabLocation
property of the parentTabGroup
object.Position
values are relative to the drawable area of the parentTabGroup
, 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 thePosition
value to resize the tab children relative to the tab size, use aSizeChangedFcn
callback.
Units
— Units of measurement
'pixels'
| 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
Units of measurement, specified as one of the values in this table.
Units Value | Description |
---|---|
'pixels' (default in uifigure -based apps) | Distances in pixels are independent of your system resolution on Windows® and Macintosh systems:
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 |
'inches' | Inches. |
'centimeters' | Centimeters. |
'points' | Points. One point equals 1/72nd of an inch. |
'characters' | These units are based on the default uicontrol font of the graphics root object:
To access the default uicontrol font, use |
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
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)