MATLAB中uitab函数用法

发布时间:2024年01月18日

目录

语法

说明

示例

图窗中的两个选项卡

可滚动选项卡

编写选项卡切换响应程序


????????uitab函数的功能是创建选项卡式面板。

语法

t = uitab
t = uitab(Name,Value)
t = uitab(parent)
t = uitab(parent,Name,Value)

说明

????????t = uitab 在选项卡组内创建一个选项卡,并返回 Tab 对象。如果没有可用的选项卡组,MATLAB? 将调用 figure 函数以创建一个图窗。然后,它在该图窗中创建一个选项卡组,并将选项卡放在该选项卡组内。

????????t = uitab(Name,Value) 使用一个或多个名称-值参数指定选项卡属性值。例如,您可以指定选项卡的标题或选项卡背景的颜色。

????????t = uitab(parent) 在指定的父容器中创建选项卡。父容器可以是使用 figure 或 uifigure 函数创建的图窗中的一个选项卡组。uitab 的属性值略有不同,具体取决于该 App 是使用 figure 还是 uifigure 函数创建的。有关详细信息,请参阅名称-值参数。

????????t = uitab(parent,Name,Value) 指定父容器和一个或多个属性值。

示例

图窗中的两个选项卡

????????创建一个图窗,其中包含一个选项卡组和两个选项卡。

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

如图所示:

获取第一个选项卡的标题。

tab1.Title
ans =

Settings

可滚动选项卡

?????????Scrollable?属性支持在选项卡内的组件超出边框时启用滚动。仅当父选项卡组位于使用?uifigure?函数创建的图窗中时,才可以滚动。App 设计工具使用此类型的图窗来创建 App。

????????创建包含一个选项卡的选项卡组。向该选项卡添加六个 UI 组件,前三个组件位于选项卡的上边框的外部。

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

如图所示:

????????通过将选项卡的 Scrollable 属性设置为 'on' 来启用滚动。默认情况下,滚动框显示在顶部。

t.Scrollable = 'on';

如图所示:

编写选项卡切换响应程序

????????在新脚本中,在 UI 图窗中创建一个具有两个选项卡的选项卡组。将 SelectionChangedFcn 属性指定为名为 displaySelection 的函数的句柄。当用户在选项卡组中的选项卡之间切换时,将执行此函数。

????????在脚本的底部,定义 displaySelection 函数来接受 MATLAB 传递给回调函数的两个输入参数:

  • 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

????????运行脚本并在选项卡之间切换以显示选项卡标题。

参数说明

parent — 父容器

????????父容器,指定为选项卡组。选项卡组可以是使用 figure 或 uifigure 函数创建的图窗的一个子级。

注意

????????此处所列的属性只是可用属性中的一部分。

Title — 标题

????????标题,指定为字符向量、字符串标量或分类数组。如果将此属性指定为分类数组,MATLAB 将仅显示数组中的第一个元素。

????????MATLAB 不会将竖线 ('|') 字符解释为换行符,它在标题中显示为竖线。

????????如果要指定 Unicode? 字符,则将 Unicode 十进制码传递到 char 函数。例如,['Multiples of ' char(960)] 显示为 Multiples of π。

BackgroundColor — 背景色

????????背景颜色,指定为 RGB 三元组、十六进制颜色代码或下表中列出的颜色选项之一。

????????RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。这些值不区分大小写。因此,颜色代码 '#FF8800' 与 '#ff8800'、'#F80' 与 '#f80' 是等效的。

????????此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
"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

????????以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[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

Position — 选项卡的位置和大小

????????此属性 为只读。

????????选项卡的位置和大小,返回为 [left bottom width height] 形式的四元素向量。此表介绍该向量中的每个元素。

元素描述
left选项卡组的内部左边缘与选项卡的内部左边缘之间的距离
bottom选项卡组的内部下边缘与选项卡的内部下边缘之间的距离
width选项卡的左右内部边缘之间的距离
height选项卡的上下内部边缘之间的距离

?????????所有测量值都采用?Units?属性指定的单位。?

注意

以下是使用 Position 属性时要注意的一些重要内容:

  • ?Position 值受到选项卡标题的长度和父 TabGroup 对象的 TabLocation 属性的影响。

  • Position 值相对于父 TabGroup 的可绘制区域,即边框内的区域。

  • 如果选项卡位于网格布局管理器中,则 Position 属性的值不会立即更新。要使用 Position 值相对于选项卡大小调整选项卡子级的大小,请使用 SizeChangedFcn 回调。

Units — 测量单位

????????测量单位,指定为下表中的值之一。

单位值描述
'pixels'(基于 uifigure 的 App 中的默认值)

以像素为单位的距离不依赖 Windows??和?Macintosh?系统上的系统分辨率:

  • 在 Windows 系统上,一个像素是 1/96 英寸。

  • 在?Macintosh?系统上,一个像素是 1/72 英寸。

在 Linux??系统上,一个像素的大小由系统分辨率确定。

'normalized'(基于 figure 的 App 中的默认值)

这些单位依据父容器进行归一化。容器的左下角映射到 (0,0),右上角映射到 (1,1)。

'inches'英寸。
'centimeters'厘米。
'points'磅。1 磅等于 1/72 英寸。
'characters'

这些单位基于图形根对象的默认 uicontrol 字体:

  • 字符宽度 = 字母?x?的宽度。

  • 字符高度 = 两个文本行的基线之间的距离。

要访问默认的 uicontrol 字体,请使用 get(groot,'defaultuicontrolFontName') 或 set(groot,'defaultuicontrolFontName')。

?
????????推荐值为?'pixels',因为大多数 MATLAB App 构建功能都以像素为单位测量距离。您可以创建一个对象,该对象根据父容器的大小重新缩放,方法是将使用?uigridlayout?函数创建的一个网格布局管理器作为该对象的父级。

?

文章来源:https://blog.csdn.net/jk_101/article/details/134419632
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。