HTML属性
控制HTML UI组件的外观和行为
HTML UI组件允许您显示原始HTML文本或嵌入HTML、JavaScript®,或CSS到您的应用程序,并与第三方JavaScript库接口。的超文本标记语言
属性控制HTML UI组件的外观和行为。使用点表示法来引用特定的对象和属性。
FIG = ufigure;H = uihtml(fig);h.Position = [100 100 150 100];h.HTMLSource =This is marked text.
';
超文本标记语言
HTMLSource
- - - - - -HTML标记或文件
”
(默认)|特征向量|字符串标量
HTML标记或文件,指定为包含HTML标记或HTML文件路径的字符向量或字符串标量。所有HTML标记和文件必须格式良好。如果指定的字符向量或字符串标量以. html
,则假定它是HTML文件的路径。
在嵌入HTML标记时,不需要指定< html >
或身体< >
标签。如果MATLAB使用的Chromium浏览器支持您指定的标金宝app记®创建的图形uifigure
函数,然后它将呈现。如果您的代码需要更多的结构,那么可以考虑使用HTML文件。
如果你设置HTMLSource
属性设置为HTML文件的路径,则HTML文件必须位于本地文件系统可以访问的位置。如果使用支持文件,如JavaScr金宝appipt、CSS、库或图像,则将这些文件放在本地文件系统可以访问的位置,在HTML文件中引用它们,并设置HTMLSource
属性设置为HTML文件的路径。金宝app支持文件不能位于与HTML文件相邻或以上的相对目录中。
例子:h = uihtml('HTMLSource','CustomCharts.html')
指定HTML文件。
例子: This is red text.h = uihtml('HTMLSource','
指定的标记。
数据
- - - - - -MATLAB数据
任意MATLAB数据类型
MATLAB数据,指定为任何MATLAB数据类型。的值时使用此参数HTMLSource
是定义JavaScript对象的HTML文件的路径。然后,可以在MATLAB HTML UI组件和JavaScript对象之间同步这些数据。
同步数据
属性之间的MATLAB和第三方内容嵌入到你的应用程序,创建一个设置
函数,该函数连接JavaScript对象htmlComponent
到MATLAB中的HTML UI组件。然后,设置HTMLSource
属性值设置为文件的路径。
的值的变化数据
属性仅在一个方向上触发回调事件。具体地说,
当
数据
属性是在MATLAB中设置的数据
的属性htmlComponent
对象的JavaScript事件监听器也会更新和触发“DataChanged”
事件。当
htmlComponent。数据
在JavaScript中设置,则数据
属性的HTML UI组件在MATLAB中也更新和触发DataChangedFcn
回调。
如果您拥有嵌套单元格数组、结构数组或MATLAB表数组数据等数据,您可能需要更多关于如何在MATLAB和JavaScript之间转换数据的信息。当数据
属性的HTML UI组件在MATLAB中设置,数据转换使用jsonencode
函数,与JavaScript同步,解析使用JSON.parse (),最后设置为数据
的属性htmlComponent
JavaScript对象。转换发生在相反的方向,以及通过的方式JSON.stringify ()和jsondecode
函数。的数据
property是唯一与JavaScript同步的属性。
请参阅jsonencode
函数获取有关其支持的数据类型的更多信息。金宝app如果jsonencode
函数不支持您的数据类型,则使用数据类金宝app型转换函数,如num2str
,将数据转换为受支持的类型。金宝app然后,将其设置为数据
财产。
属性的属性,以获取有关如何编写启用数据同步的HTML文件的详细信息htmlComponent
JavaScript对象,请参见创建可以触发或响应数据更改的HTML文件.
交互性
可见
- - - - - -可见状态
“上”
(默认)|开/关逻辑值
可见状态,指定为“上”
或“关闭”
,或作为数字或逻辑1
(真正的
)或0
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
“上”
—显示对象。“关闭”
—隐藏对象,但不删除对象。您仍然可以访问不可见UI组件的属性。
要使应用程序启动更快,请设置可见
财产“关闭”
用于所有不需要在启动时出现的UI组件。
工具提示
- - - - - -工具提示
”
(默认)|特征向量|字符向量的单元格数组|字符串数组|一维分类数组
工具提示,指定为字符向量、字符向量的单元格数组、字符串数组或1-D分类数组。使用此属性可在用户在运行时将指针悬停在组件上时显示一条消息。即使禁用了组件,也会显示工具提示。若要显示多行文本,请指定字符向量的单元格数组或字符串数组。数组中的每个元素都成为一个单独的文本行。如果将此属性指定为分类数组,MATLAB将使用数组中的值,而不是全部类别集。
快捷菜单
- - - - - -上下文菜单
空GraphicsPlaceholder
数组(默认)|快捷菜单
对象
上下文菜单,指定为快捷菜单
对象创建。uicontextmenu
函数。
请注意
属性时,此属性无效HTMLSource
属性的HTML UI组件被设置。相反,要在用户右键单击组件时显示上下文菜单,请检测事件并编写代码以编程方式在预期位置打开上下文菜单。
示例:打开HTML UI组件的上下文菜单
创建一个名为cmexample.html
.在文件中:
创建一个
< div >
组成组件外观的元素。写一个
设置
函数连接htmlComponent
JavaScript对象到MATLAB中的HTML UI组件。属性中添加事件侦听器
设置
监听a的函数快捷菜单
事件(例如右键单击)在JavaScript对象上创建一个侦听器回调函数。当一个快捷菜单
事件发生时,侦听器回调设置数据
的属性htmlComponent
对象来存储触发事件的操作和触发事件的位置。这些数据可以从相关的MATLAB HTML UI组件中获得。
<!DOCTYPE html>右键单击该组件打开上下文菜单。.
在MATLAB脚本中,在UI图中创建HTML UI组件和上下文菜单对象。指定cmexample.html
文件作为HTMLSource
HTML UI组件的属性。然后,定义一个名为openContextMenu
它接受上下文菜单作为输入,并且每当数据
HTML UI组件的属性会发生变化。在回调函数中,检查触发回调执行的事件是否为上下文菜单事件。如果是,检索事件的位置,并使用该位置在图中预期的位置打开上下文菜单。
FIG = ufigure;H = uihtml(图,“HTMLSource”,“cmexample.html”);h.Position = [100 100 200 200];Cm = uicontextmenu(图);M1 = uimenu(cm,“文本”,”选项1”);M2 = uimenu(cm,“文本”,”选项2”);h.ContextMenu = cm;h.DataChangedFcn = {@openContextMenu,cm};函数openContextMenu (src、事件厘米)开关src.Data.Action情况下上“showContextMenu”P = getpixelposition(src,true);xClick = src.Data.PosData(1);yClick = src.Data.PosData(2);xOpen = p(1)+xClick;yOpen = p(2)+p(4)-yClick;打开(cm、xOpen yOpen);结束结束
运行脚本并右键单击HTML UI组件以打开上下文菜单。
位置
位置
- - - - - -HTML UI组件的位置和大小
[100 100 100 100]
(默认)|[左下宽高]
HTML UI组件相对于父容器的位置和大小,指定为表单的四个元素向量[左下宽高]
.该表描述了向量中的每个元素。
元素 | 描述 |
---|---|
左 |
从父容器的内左边缘到HTML UI组件的外左边缘的距离 |
底 |
从父容器的内底边到HTML UI组件的外底边的距离 |
宽度 |
HTML UI组件的左右外边缘之间的距离 |
高度 |
HTML UI组件顶部和底部外边缘之间的距离 |
的位置
值相对于可拉的区域父容器的。可绘制区域是容器边界内的区域,不包括菜单栏或标题等装饰所占用的区域。
所有的测量都以像素为单位。
InnerPosition
- - - - - -HTML UI组件的内部位置和大小
[100 100 100 100]
(默认)|[左下宽高]
HTML UI组件的内部位置和大小,指定为表单的四个元素向量[左下宽高]
.所有的测量都以像素为单位。属性值与位置
财产。
OuterPosition
- - - - - -HTML UI组件的外部位置和大小
[100 100 100 100]
(默认)|[左下宽高]
此属性是只读的。
HTML UI组件的外部位置和大小,作为表单的四个元素向量返回[左下宽高]
.所有的测量都以像素为单位。属性值与位置
财产。
布局
- - - - - -布局选项
空LayoutOptions
数组(默认)|GridLayoutOptions
对象
布局选项,指定为GridLayoutOptions
对象。此属性指定网格布局容器的子组件的选项。如果组件不是网格布局容器的子组件(例如,它是图形或面板的子组件),则此属性为空,没有作用。但是,如果组件是网格布局容器的子元素,则可以将组件放置在网格的所需行和列中行
而且列
属性GridLayoutOptions
对象。
例如,这段代码将HTML UI组件放在其父网格的第三行和第二列中。
G = uigridlayout([4 3]);H = uihtml(g);h.HTMLSource =' <身体风格= " background:浅蓝色;" > < p > Hello World !< / p > < /身体>”;h.Layout.Row = 3;h.Layout.Column = 2;
要使HTML UI组件跨连续的行或列,请指定行
或列
属性作为两元素向量。例如,这个HTML UI组件跨列2
通过3.
.
h.Layout.Column = [2 3];
回调
DataChangedFcn
- - - - - -数据更改时的回调
”
(默认)|函数处理|单元阵列|特征向量
回调函数,指定为以下值之一:
函数处理。
单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。
包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。
时的值数据
属性的更改。htmlComponent
JavaScript对象,数据
属性的MATLAB HTML UI组件被更新,这个回调执行。
这个回调函数可以访问JavaScript对象中数据更改的特定信息。MATLAB在a中传递信息DataChangedData
对象作为回调函数的第二个参数。在App Designer中,这个参数被调用事件
.您可以查询DataChangedData
使用点表示法的对象属性。例如,事件。PreviousData
的前一个值数据
在最后一次更新或更改之前。的DataChangedData
对象对于指定为字符向量的回调函数不可用。
属性的属性DataChangedData
对象。
财产 | 描述 |
---|---|
数据 |
最近的数据来自于最后的DataChanged 事件 |
PreviousData |
最后一次数据DataChanged 事件 |
源 |
执行回调的MATLAB HTML UI组件 |
EventName |
“DataChanged” |
有关编写回调函数的详细信息,请参见应用程序设计器中的回调.
CreateFcn
- - - - - -创建函数
”
(默认)|函数处理|单元阵列|特征向量
对象创建函数,指定为以下值之一:
函数处理。
单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。
包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。
有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见应用程序设计器中的回调.
此属性指定在MATLAB创建对象时执行的回调函数。函数执行之前,MATLAB初始化所有属性值CreateFcn
回调。如果没有指定CreateFcn
属性,然后MATLAB执行默认的创建函数。
设置CreateFcn
属性在现有组件上不起作用。
如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用gcbo
函数来访问对象。
DeleteFcn
- - - - - -删除函数
”
(默认)|函数处理|单元阵列|特征向量
对象删除函数,指定为以下值之一:
函数处理。
单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。
包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。
有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见应用程序设计器中的回调.
此属性指定在MATLAB删除对象时执行的回调函数。MATLAB执行DeleteFcn
在销毁对象的属性之前。如果没有指定DeleteFcn
属性,然后MATLAB执行默认删除函数。
如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在删除的对象。否则,使用gcbo
函数来访问对象。
回调执行控制
可中断
- - - - - -回调中断
“上”
(默认)|开/关逻辑值
回调中断,指定为“上”
或“关闭”
,或作为数字或逻辑1
(真正的
)或0
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
此属性决定是否可以中断正在运行的回调。有两种回调状态需要考虑:
的运行Callback是当前正在执行的Callback。
的打断回调是试图中断正在运行的回调的回调。
MATLAB在执行处理回调队列的命令时确定回调中断行为。这些命令包括drawnow
,数字
,uifigure
,getframe
,等待
,暂停
.
如果正在运行的回调不包含这些命令之一,则不会发生中断。MATLAB首先完成运行回调的执行,然后再执行中断回调。
如果正在运行的回调包含这些命令之一,则可中断
属性决定是否发生中断:
如果的值
可中断
是“关闭”
,则不发生中断。相反,BusyAction
属性确定中断回调是被丢弃还是添加到回调队列。如果的值
可中断
是“上”
,则中断。下一次MATLAB处理回调队列时,它将停止正在运行的回调的执行,并执行中断的回调。中断回调完成后,MATLAB继续执行正在运行的回调。
请注意
回调中断和执行在以下情况下表现不同:
如果中断回调是
DeleteFcn
,CloseRequestFcn
,或SizeChangedFcn
回调函数时,中断发生,而不管可中断
属性值。方法当前正在执行
等待
函数,则中断发生而不管可中断
属性值。如果中断回调属于
计时器
对象,则回调函数将根据调度执行,而不管可中断
属性值。
BusyAction
- - - - - -回调排队
“队列”
(默认)|“取消”
回调队列,指定为“队列”
或“取消”
.的BusyAction
属性决定MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:
的运行Callback是当前正在执行的Callback。
的打断回调是试图中断正在运行的回调的回调。
的BusyAction
属性仅在满足以下两个条件时确定回调排队行为:
在这些条件下,BusyAction
拥有中断回调的对象的属性决定了MATLAB如何处理中断回调。的可能值BusyAction
属性:
“队列”
—将中断的回调放到队列中,待正在运行的回调执行完成后再处理。“取消”
—不执行中断回调。
BeingDeleted
- - - - - -删除状态
开/关逻辑值
此属性是只读的。
删除状态,作为类型的on/off逻辑值返回matlab.lang.OnOffSwitchState
.
MATLAB设置BeingDeleted
财产“上”
当DeleteFcn
回调开始执行。的BeingDeleted
属性仍然设置为“上”
直到组件对象不再存在。
的值BeingDeleted
属性在查询或修改对象之前验证对象是否即将被删除。
父/子
父
- - - - - -父容器
数字
对象(默认)|面板
对象|选项卡
对象|ButtonGroup
对象|GridLayout
对象
父容器,指定为数字
对象创建。uifigure
函数,或者它的子容器之一:选项卡
,面板
,ButtonGroup
,或GridLayout
.如果没有指定容器,MATLAB将调用uifigure
函数创建一个新的数字
对象,该对象用作父容器。
HandleVisibility
- - - - - -对象句柄的可见性
“上”
(默认)|“回调”
|“关闭”
对象句柄的可见性,指定为“上”
,“回调”
,或“关闭”
.
此属性控制对象在其父对象的子列表中的可见性。当一个对象在其父对象的子列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数将不会返回该对象。这些函数包括得到
,findobj
,clf
,关闭
.对象即使不可见也是有效的。如果可以访问对象,就可以设置和获取其属性,并将其传递给对对象进行操作的任何函数。
HandleVisibility价值 | 描述 |
---|---|
“上” |
对象总是可见的。 |
“回调” |
对象在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止在命令行访问对象,但允许回调函数访问它。 |
“关闭” |
这个物体在任何时候都是看不见的。此选项对于防止另一个函数对UI的意外更改非常有用。设置HandleVisibility 来“关闭” 在函数执行期间暂时隐藏对象。 |
标识符
类型
- - - - - -图形对象的类型
“uihtml”
此属性是只读的。
图形对象的类型,返回为“uihtml”
.
标签
- - - - - -对象标识符
”
(默认)|特征向量|字符串标量
对象标识符,指定为字符向量或字符串标量。您可以指定一个惟一的标签
值作为对象的标识符。方法在代码中的其他地方需要访问对象时,可以使用findobj
方法搜索对象标签
价值。
用户数据
- - - - - -用户数据
[]
(默认)|数组
用户数据,指定为任意MATLAB数组。例如,您可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。
如果您在应用程序设计器中工作,请在应用程序中创建公共或私有属性以共享数据,而不是使用用户数据
财产。有关更多信息,请参见在应用设计器应用中共享数据.
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。