matlab.ui.componentcontainer.ComponentContainer类
包:matlab.ui.componentcontainer
用于开发UI组件对象的基类
描述
matlab.ui.componentcontainer.ComponentContainer
是一个你用来创建你自己的UI Component对象类的类。类定义此基类的子类时,可以使用ComponentContainer
属性和方法来构建你的UI组件对象。类定义文件的第一行指定此语法,以便直接继承ComponentContainer
类,MyComponent
对象的名称:
classdef MyComponent < matlab.ui.componentcontainer.ComponentContainer
的matlab.ui.componentcontainer.ComponentContainer
类是一个处理
类。
属性
写成BackgroundColor
- - - - - -背景颜色
(。94 .94 .94]
(默认)|RGB值|十六进制颜色代码|“r”
|‘g’
|“b”
|……
背景色,指定为RGB三元组、十六进制颜色代码或表中列出的颜色选项之一。
RGB三组和十六进制颜色代码对于指定自定义颜色很有用。
RGB三元组是一个三元素行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在这个范围内
[0, 1]
;例如,[0.4 0.6 0.7]
.十六进制颜色码是字符向量或以散列符号(
#
)后面跟着三个或六个十六进制数字,取值范围为0
来F
.这些值不区分大小写。因此,颜色代码“# FF8800”
,“# ff8800”
,“# F80”
,“# f80”
是等价的。
或者,您可以通过名称指定一些常用颜色。该表列出了已命名的颜色选项、等效的RGB三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB值 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
“红色” |
“r” |
[10 0 0] |
“# FF0000” |
|
“绿色” |
‘g’ |
[0 10 0] |
“# 00 ff00” |
|
“蓝” |
“b” |
[0 0 1] |
“# 0000 ff” |
|
“青色” |
“c” |
[0 1 1] |
“# 00飞行符” |
|
“红色” |
“米” |
[10 0 1] |
“#就” |
|
“黄色” |
“y” |
[11 10 0] |
“# FFFF00” |
|
“黑” |
“k” |
[0 0 0] |
# 000000的 |
|
“白色” |
' w ' |
[1 1 1] |
“# FFFFFF” |
|
这里是RGB三组和十六进制的颜色代码的默认颜色MATLAB®在许多类型的图中使用。
RGB值 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] |
“# 0072 bd” |
|
[0.8500 0.3250 0.0980] |
“# D95319” |
|
[0.9290 0.6940 0.1250] |
“# EDB120” |
|
[0.4940 0.1840 0.5560] |
“# 7 e2f8e” |
|
[0.4660 0.6740 0.1880] |
“# 77 ac30” |
|
[0.3010 0.7450 0.9330] |
“# 4 dbeee” |
|
[0.6350 0.0780 0.1840] |
“# A2142F” |
|
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
可见
- - - - - -可见状态
“上”
(默认)|开/关逻辑值
可见状态,指定为“上”
或“关闭”
,或作为数字或逻辑1
(真正的
)或0
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
“上”
—显示对象。“关闭”
—隐藏对象,但不删除对象。您仍然可以访问不可见UI组件的属性。
要使应用程序启动更快,请设置可见
财产“关闭”
用于启动时不需要出现的所有组件。
更改不可见容器的大小会触发SizeChangedFcn
当它变得可见时回调。
改变了可见
属性不的值可见
子组件的属性。即使隐藏容器会导致隐藏子组件,情况也是如此。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
快捷菜单
- - - - - -上下文菜单
空GraphicsPlaceholder
数组(默认)|快捷菜单
对象
上下文菜单,指定为快捷菜单
对象创建。uicontextmenu
函数。使用此属性可在右键单击组件时显示上下文菜单。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
NonCopyable |
真正的
|
瞬态 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
位置
- - - - - -UI组件的大小和位置,不包括边距
[左下宽高]
UI组件的大小和位置,不包括轴标签和标记等装饰的边缘。将此属性指定为形式向量[左下宽高]
.
请注意
当UI组件的父组件是GridLayout
.
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
单位
- - - - - -计量单位
“像素”
(默认)
计量单位,指定为“像素”
.
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
布局
- - - - - -布局选项
空LayoutOptions
数组(默认)|GridLayoutOptions
对象
布局选项,指定为GridLayoutOptions
对象。此属性指定网格布局容器的子组件的选项。如果组件不是网格布局容器的子组件(例如,它是图形或面板的子组件),则此属性为空,没有作用。但是,如果组件是网格布局容器的子元素,则可以将组件放置在网格的所需行和列中行
而且列
属性GridLayoutOptions
对象。
例如,这段代码将图像组件放在其父网格的第三行和第二列中。
G = uigridlayout([4 3]);Im = uiimage(g);即时通讯。ImageSource =“peppers.png”;即时通讯。ScaleMethod =“填满”;im.Layout.Row = 3;im.Layout.Column = 2;
要使图像跨越多行或多列,请指定行
或列
属性作为两元素向量。例如,这个图像跨列2
通过3.
.
im.Layout.Column = [2 3];
属性:
GetAccess |
公共
|
SetAccess |
公共
|
可中断
- - - - - -回调中断
“上”
(默认)|开/关逻辑值
回调中断,指定为“上”
或“关闭”
,或作为数字或逻辑1
(真正的
)或0
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
此属性决定是否可以中断正在运行的回调。有两种回调状态需要考虑:
的运行Callback是当前正在执行的Callback。
的打断回调是试图中断正在运行的回调的回调。
每当MATLAB调用回调时,该回调都会试图中断正在运行的回调(如果存在的话)。的可中断
属性决定是否允许中断。
请注意
回调中断和执行在以下情况下表现不同:
如果中断回调是
DeleteFcn
,CloseRequestFcn
或SizeChangedFcn
回调函数时,中断发生,而不管可中断
属性值。方法当前正在执行
等待
函数,则中断发生而不管可中断
属性值。计时器
对象根据调度执行,而不管可中断
属性值。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
GetObservable |
真正的
|
SetObservable |
真正的
|
BusyAction
- - - - - -回调排队
“队列”
(默认)|“取消”
回调队列,指定为“队列”
或“取消”
.的BusyAction
属性决定MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:
的运行Callback是当前正在执行的Callback。
的打断回调是试图中断正在运行的回调的回调。
每当MATLAB调用回调时,该回调都会试图中断正在运行的回调。的可中断
属性决定是否允许中断。如果不允许中断,则BusyAction
拥有中断回调的对象的属性确定它是被丢弃还是放入队列中。的可能值BusyAction
属性:
“队列”
—将中断的回调放到队列中,待正在运行的回调执行完成后再处理。“取消”
—不执行中断回调。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
GetObservable |
真正的
|
SetObservable |
真正的
|
BeingDeleted
- - - - - -删除状态
开/关逻辑值
删除状态,作为类型的on/off逻辑值返回matlab.lang.OnOffSwitchState
.
MATLAB设置BeingDeleted
财产“上”
当DeleteFcn
回调开始执行。的BeingDeleted
属性仍然设置为“上”
直到组件对象不再存在。
的值BeingDeleted
属性在查询或修改对象之前验证对象是否即将被删除。
属性:
GetAccess |
公共
|
SetAccess |
受保护的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
父
- - - - - -父容器
数字
对象(默认)|面板
对象|选项卡
对象|GridLayout
对象
组件的父容器,指定为数字
,面板
,选项卡
,或GridLayout
对象。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
瞬态 |
真正的
|
依赖 |
真正的
|
NonCopyable |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
孩子们
- - - - - -UI组件子组件
空GraphicsPlaceholder
数组
UI组件的子组件,返回为空GraphicsPlaceholder
数组中。自定义UI组件没有子组件。设置此属性无效。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
瞬态 |
真正的
|
依赖 |
真正的
|
NonCopyable |
真正的
|
HandleVisibility
- - - - - -对象句柄的可见性
“上”
(默认)|“回调”
|“关闭”
对象句柄的可见性,指定为“上”
,“回调”
,或“关闭”
.
此属性控制对象在其父对象的子列表中的可见性。当一个对象在其父对象的子列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数将不会返回该对象。这些函数包括得到
,findobj
,clf
,关闭
.对象即使不可见也是有效的。如果可以访问对象,就可以设置和获取其属性,并将其传递给对对象进行操作的任何函数。
HandleVisibility价值 | 描述 |
---|---|
“上” |
对象总是可见的。 |
“回调” |
对象在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止在命令行访问对象,但允许回调函数访问它。 |
“关闭” |
这个物体在任何时候都是看不见的。此选项对于防止另一个函数对UI的意外更改非常有用。设置HandleVisibility 来“关闭” 在函数执行期间暂时隐藏对象。 |
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
类型
- - - - - -UI组件对象的类型
特征向量
UI组件对象的类型,返回为包含组件名称的字符向量。
属性:
GetAccess |
公共
|
SetAccess |
受保护的
|
NonCopyable |
真正的
|
瞬态 |
真正的
|
标签
- - - - - -对象标识符
”
(默认)|特征向量|字符串标量
对象标识符,指定为字符向量或字符串标量。您可以指定一个惟一的标签
值作为对象的标识符。方法在代码中的其他地方需要访问对象时,可以使用findobj
方法搜索对象标签
价值。
属性:
GetAccess |
公共
|
SetAccess |
公共
|
依赖 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
用户数据
- - - - - -用户数据
[]
(默认)|数组
用户数据,指定为任意MATLAB数组。例如,您可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。
如果您在应用程序设计器中工作,请在应用程序中创建公共或私有属性以共享数据,而不是使用用户数据
财产。有关更多信息,请参见在应用设计器应用中共享数据.
属性:
GetAccess |
公共
|
SetAccess |
公共
|
瞬态 |
真正的
|
GetObservable |
真正的
|
SetObservable |
真正的
|
例子
IP地址输入
定义一个类IPAddressComponent
它创建了一个自定义组件,用于输入四个值来形成一个IP地址。
要定义类,创建一个名为IPAddressComponent.m
包含以下具有以下特性的类定义:
一个
价值
存储IP地址的public属性。NumericField
而且GridLayout
在水平行中放置四个数字编辑字段的私有属性。一个
设置
初始化的方法NumericField
而且GridLayout
.一个
更新
方法,该方法更新NumericField
的值。一个
handleNewValue
方法,用于设置价值
属性根据4个数字编辑字段的值设置。
classdefIPAddressComponent < matlab.ui.componentcontainer.ComponentContainerIPAddressComponent为IP地址输入设置4个编辑字段属性价值(1,4) {mustBeNonnegative, mustBeInteger, mustBeLessThanOrEqual(Value, 255)}= [192 168 1 2];结束事件ValueChanged . (HasCallbackProperty, NotifyAccess = protected% ValueChangedFcn回调属性将被生成结束属性(Access = private, Transient, NonCopyable) NumericField(1、4)matlab.ui.control.NumericEditFieldGridLayoutmatlab.ui.container.GridLayout结束方法(访问=保护)函数设置(obj)设置该组件的初始位置obj。位置= [100 100 150 22];%的布局obj。GridLayout = uigridlayout(obj,[1,5],...“RowHeight”{22},“ColumnWidth”{30日,30日,30日,30日,22},...“填充”0,“列空间”2);%积木为obj. numericfield (k) = uieditfield(obj. numericfield (k))GridLayout,“数字”,...“限制”, [0 255],“RoundFractionalValues”,真的,...“字体名”,“快递新”,“FontWeight”,“大胆”,...“ValueChangedFcn”@ (o, e) obj.handleNewValue ());结束结束函数更新(obj)%更新视图为k = 1:4 obj.NumericField(k)。Value = obj.Value(k);结束结束结束方法(访问=私人)函数handleNewValue (obj) obj。价值= [obj.NumericField.Value];执行事件监听器和ValueChangedFcn回调属性通知(obj,“ValueChanged”);结束结束结束
方法创建组件IPAddressComponent
构造函数方法提供的ComponentContainer
类,并返回对象为h
.指定一个函数,当组件值发生变化时,在命令窗口中显示新的IP地址。
h = IPAddressComponent;h.ValueChangedFcn = @(o,e) disp(['值更改为:'num2str (h.Value)]);
输入IP地址192.168.1.10
进入编辑字段。MATLAB在命令窗口中显示更新后的IP地址。
更多关于
为你的UI组件启用用户定义回调
在定义类时,可以为UI组件触发的事件添加一个块。
要创建这样的事件块,请给类一个事件
用HasCallbackProperty
属性。当您这样做时,MATLAB将为块中的每个事件创建一个公共属性。公共属性存储用户提供的在事件触发时执行的回调。公共属性的名称是附加字母的事件名称Fcn
.例如,UI组件可能定义公共事件ValueChanged
并生成相应的公共财产ValueChangedFcn
.使用通知
方法来触发事件并执行属性中的回调。
例如,这是一个UI组件的事件块,允许用户选择颜色值。
事件ValueChanged . (HasCallbackProperty, NotifyAccess = protected结束
通知
方法来触发ValueChanged
事件中执行回调ValueChangedFcn
属性,当用户选择颜色值时。函数getColorFromUser(obj) c = uisetcolor(obj. value);如果(isscalar(c) && (c == 0))返回;结束更新Value属性oldValue = obj.Value;obj。Value = c;执行用户回调和监听器通知(obj,“ValueChanged”);结束
F = ufigure;c = ColorSelector(f,“ValueChangedFcn”@ (o, e) disp (“改变”))
第一MATLAB
海脂循环匹配函数对应求解MATLAB:
Esegui il commanmando inserendolo nella finestra di commanmando MATLAB。我的浏览器web不支持和MATLAB金宝app。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。