Toolbar 属性
控制工具栏的外观和行为
工具栏是图窗窗口顶部的水平按钮列表的容器。uitoolbar
函数在图窗中创建一个工具栏并在显示它之前设置任何必需属性。通过更改属性值,可以修改工具栏的外观和行为。使用圆点表示法引用特定的对象和属性。
tb = uitoolbar; tb.Visible = 'off';
交互性
Visible
— 可见性状态
'on'
(默认) | on/off 逻辑值
可见性状态,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 显示对象。'off'
- 隐藏对象而不删除它。您仍然可以访问不可见 UI 组件的属性。
要使您的 App 更快地启动,请将不需要在启动时出现的所有 UI 组件的 Visible
属性设置为 'off'
。
ContextMenu
— 上下文菜单
空 GraphicsPlaceholder
数组 (默认) | ContextMenu
对象
设置此属性对此类型的对象没有影响。
回调
CreateFcn
— 组件创建函数
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
组件创建函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。
包含有效 MATLAB® 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
有关将回调属性值指定为函数句柄、元胞数组或字符向量的详细信息,请参阅Specify a Callback Function。
此属性指定要在 MATLAB 创建组件时执行的回调函数。MATLAB 将在执行 CreateFcn
回调之前初始化所有的组件属性值。如果不指定 CreateFcn
属性,则 MATLAB 执行默认的创建函数。
可在您的 CreateFcn
代码中使用 gcbo
函数获取要创建的组件对象。
对现有组件对象设置 CreateFcn
属性没有任何作用。
DeleteFcn
— 组件删除函数
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
组件删除函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
有关将回调属性值指定为函数句柄、元胞数组或字符向量的详细信息,请参阅Specify a Callback Function。
DeleteFcn
属性指定要在 MATLAB 删除组件时(例如,当用户关闭窗口时)执行的回调函数。MATLAB 会在销毁组件对象的属性之前执行 DeleteFcn
回调。如果不指定 DeleteFcn
属性,则 MATLAB 执行默认的删除函数。
可在您的 DeleteFcn
代码中使用 gcbo
函数获取要删除的组件对象。
回调执行控件
Interruptible
— 回调中断
'on'
(默认) | on/off 逻辑值
回调中断,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
Interruptible
属性确定是否可以中断运行中回调。有以下两种回调状态要考虑:
运行中回调是当前正在执行的回调。
中断回调是试图中断运行中回调的回调。
每当 MATLAB 调用回调时,回调都会试图中断正在运行的回调(如果存在)。运行中回调所属对象的 Interruptible
属性决定着是否允许中断:
注意
回调的中断和执行在以下情况下会有不同的表现:
有关演示 Interruptible
和 BusyAction
属性如何影响程序行为的示例,请参阅Interrupt Callback Execution。
BusyAction
— 回调排队
'queue'
(默认) | 'cancel'
回调排队,指定为 'queue'
(默认值)或 'cancel'
。BusyAction
属性决定 MATLAB 如何处理中断回调的执行。有以下两种回调状态要考虑:
运行中回调是当前正在执行的回调。
中断回调是试图中断运行中回调的回调。
中断回调的来源的 BusyAction
属性决定 MATLAB 如何处理其执行。BusyAction
属性具有下列值:
'queue'
- 将中断回调放入队列中,以便在运行中回调执行完毕后进行处理。'cancel'
- 不执行中断回调。
无论何时 MATLAB 调用回调,该回调都会试图中断正在执行的回调。运行中回调所属对象的 Interruptible
属性确定是否允许回调。如果 Interruptible
设置为:
on
- 在下一个时间点(MATLAB 处理队列时)发生中断。这是默认设置。off
-BusyAction
属性(中断回调所属对象的属性)确定 MATLAB 是将中断回调纳入队列还是将其忽略。
有关演示 BusyAction
和 Interruptible
属性如何影响程序行为的示例,请参阅Interrupt Callback Execution。
BeingDeleted
— 删除状态
on/off 逻辑值
此 属性 为只读。
删除状态,以 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值形式返回。
当 DeleteFcn
回调开始执行时,MATLAB 会将 BeingDeleted
属性设置为 'on'
。BeingDeleted
属性将一直保持 'on'
设置状态,直到组件对象不再存在为止。
在查询或修改对象之前,请先检查其 BeingDeleted
属性的值,以确认它不是待删除项。
HitTest
— 变为当前对象的能力(不推荐)
'on'
(默认) | on/off 逻辑值
此属性对此类型的对象没有影响。
父级/子级
Children
— Toolbar
子级
空 GraphicsPlaceholder
数组 (默认) | 一维分量对象数组
Toolbar
的子级,以空 GraphicsPlaceholder
或组件对象的一维数组形式返回。Toolbar
对象的子级是 PushTool
和 ToggleTool
对象。
不能使用 Children
属性添加或删除子级。使用该属性查看子级列表或对子级重新排序。此数组中子级的顺序反映了工具在工具栏中从右到左的显示顺序。这意味着最右边的工具在列表的顶部,最左边的工具在列表的底部。例如,由 Children
属性返回的此工具顺序表示按钮工具出现在工具栏中切换工具的左侧。
toolOrder = tb.Children
toolOrder = 2×1 graphics array: ToggleTool PushTool
要向该列表中添加子级,请将子组件的 Parent
属性设置为 Toolbar
对象。
HandleVisibility
属性设置为 'off'
的对象不会列在 Children
属性中。
HandleVisibility
— 对象句柄的可见性
'on'
(默认) | 'callback'
| 'off'
对象句柄的可见性,指定为 'on'
、'callback'
或 'off'
。
此属性控制对象在其父级的子级列表中的可见性。当对象未显示在其父级的子级列表中时,通过搜索对象层次结构或查询属性来获取对象的函数不会返回该对象。这些函数包括 get
、findobj
、gca
、gcf
、gco
、newplot
、cla
、clf
和 close
。HandleVisibility
属性还控制对象句柄是否显示在父图窗的 CurrentObject
属性中。对象即使在不可见时也有效。如果可以访问某个对象,则可以设置和获取其属性,并将其传递给针对对象进行运算的任意函数。
HandleVisibility 值 | 描述 |
---|---|
'on' | 对象句柄始终可见。 |
'callback' | 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。 |
'off' | 对象句柄始终不可见。该选项用于防止另一函数无意中对 UI 进行更改。将 HandleVisibility 设置为 'off' 可在执行该函数时暂时隐藏句柄。 |
仅限基于 uifigure
创建的 App
BackgroundColor
— 背景色
[0.9569 0.9569 0.9569]
(默认) | RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
注意
只能对 App 设计工具和使用 uifigure
函数创建的 App 中的工具栏修改此属性。
背景颜色,指定为 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" | |
"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" |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[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" |
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
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)