主要内容

HTML属性

控制HTML UI组件外观和行为

HTML UI组件允许您显示原始的HTML文本或嵌入HTML, JavaScript®,或CSS到您的应用程序,并与第三方JavaScript库接口。这超文本标记语言属性控制HTML UI组件的外观和行为。使用点表示法来引用特定对象和属性。

无花果= uifigure;h = uihtml(图);h.头寸= [100 100 150 100];h.HTMLSource ='

这是标记文本。';

超文本标记语言

全部展开

HTML标记或文件,指定为字符向量或字符串标量,其中包含HTML标记或HTML文件的路径。所有HTML标记和文件必须格式良好。如果指定的字符向量或字符串标量以. html,则假定它是HTML文件的路径。

嵌入HTML标记时,您无需指定< html >身体< >标签。如果您指定的标记在MATLAB使用的Chromium浏览器金宝app中受支持®使用uifigure函数,然后它将渲染。如果您的代码需要更多的结构,那么可以考虑使用HTML文件。

如果你设置HTMLSource属性设置为HTML文件的路径,则HTML文件必须位于本地文件系统可以访问的位置。如果您正在使用支持文件,如Java金宝appScript、CSS、库或图像,那么将这些文件放在本地文件系统可以访问的位置,在HTML文件中引用它们,并设置HTMLSource属性到HTML文件的路径。金宝app支持文件不能在HTML文件中邻近或高于HTML文件的相对目录中。

例子:h = uihtml(“HTMLSource”、“CustomCharts.html”)指定HTML文件。

例子:h = uihtml('HTMLSource','

这是red text.

')指定的标记。

MATLAB数据,指定为任何MATLAB数据类型。当的值HTMLSource是定义JavaScript对象的HTML文件的路径。然后,这些数据可以在MATLAB HTML UI组件和JavaScript对象之间同步。

的值同步数据属性之间的MATLAB和第三方内容,您正在嵌入到您的应用程序,创建一个设置函数在HTML文件中连接被调用的JavaScript对象htmlComponent到MATLAB中的HTML UI组件。然后,设置HTMLSource属性值设置为文件的路径。

变化的价值数据属性仅在一个方向触发回调事件。具体地说,

  • 当。。。的时候数据属性在MATLAB中设置,则数据财产的htmlComponent对象的JavaScript事件监听器也会更新和触发“DataChanged”事件。

  • htmlComponent。数据是用JavaScript设置的,数据属性的HTML UI组件也更新和触发DataChangedFcn回调。

如果您具有像嵌套单元格阵列,结构阵列或MATLAB表阵列数据一样,您可能需要更多关于数据如何在MATLAB和JavaScript之间转换的更多信息。当。。。的时候数据属性在MATLAB中设置,数据使用jsonencode函数,与JavaScript同步,使用解析JSON.parse (),最后设置为数据财产的htmlComponentJavaScript对象。转换也发生在相反的方向JSON.stringify ()jsondecode函数。这数据属性是唯一与JavaScript同步的属性。

指的是jsonencode函数以获取有关其支持的数据类型的更多信息。金宝app如果jsonencode函数不支持您的数据类型,则使用数据类金宝app型转换函数,如num2str,将数据转换为支持的类型。金宝app然后,将其设置为值数据财产。

有关如何编写支持数据同步的HTML文件和属性的详细信息htmlComponentJavaScript对象,看创建可以触发或响应数据变化的HTML文件

交互性

全部展开

可见性状态,指定为'在'“关闭”,或数字或逻辑1真正的)或0.).价值'在'相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • '在'—显示对象。

  • “关闭”-隐藏对象而不删除它。您仍然可以访问不可见的UI组件的属性。

让您的应用程序开始更快,设置可见财产“关闭”对于所有不需要在启动时出现的UI组件。

工具提示,指定为字符向量,字符向量单元阵列,字符串数组或1-D分类阵列。使用此属性在运行时筛选组件上的指针时显示一条消息。即使禁用组件,工具提示也会显示。要显示多行文本,请指定字符向量或字符串数​​组的单元格数组。阵列中的每个元素都成为单独的文本行。如果将此属性指定为分类数组,则Matlab使用数组中的值,而不是完整的类别。

上下文菜单,指定为a快捷菜单使用uicontextmenu函数。在组件上单击右键时,使用此属性显示上下文菜单。

笔记

HTMLSource属性设置。

位置

全部展开

HTML UI组件相对于父容器的位置和大小,指定为表单的四个元素向量[左下角宽度高度].此表描述了向量中的每个元素。

元素 描述
剩下 从父容器的内左边缘到HTML UI组件的外左边缘的距离
父容器的内底边到HTML UI组件的外底边的距离
宽度 HTML UI组件左右外边缘之间的距离
高度 HTML UI组件的上外侧和下外侧之间的距离

位置值是相对于可拉伸区域父容器。可拉伸区域是容器边界内的区域,并且不包括装饰品(例如菜单栏或标题)所占用的区域。

所有测量均以像素为单位。

HTML UI组件的内部位置和大小,指定为表单的四个元素向量[左下角宽度高度].所有的测量都以像素为单位。该属性值与位置财产。

此属性是只读的。

HTML UI组件的外部位置和大小,返回为表单的四个元素向量[左下角宽度高度].所有的测量都以像素为单位。该属性值与位置财产。

布局选项,指定为gridlayoutoptions.目的。此属性指定网格布局容器的子组件的选项。如果组件不是网格布局容器的子节点(例如,它是图形或面板的子项),则此属性为空,没有效果。但是,如果组件是网格布局容器的子节点,则可以通过设置该组件将组件放置在所需的行和网格列中物业在gridlayoutoptions.目的。

例如,此代码将HTML UI组件放在其父网格的第三行和第二列中。

G = uigridlayout([4 3]);h = uihtml (g);h.HTMLSource =' 

你好世界! ';h.Layout.Row = 3;h.Layout.Column = 2;

要使HTML UI组件跨连续的行或列,请指定属性作为双元素矢量。例如,此HTML UI组件跨域列2通过3.

h.Layout.Column = [2 3];

回调

全部展开

当数据改变时回调,指定为以下值之一:

  • 功能手柄。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作空间中计算这个表达式。

时的值数据属性的更改htmlComponentJavaScript对象,数据属性的MATLAB HTML UI组件更新,并执行此回调。

这个回调函数可以访问关于JavaScript对象中数据变化的特定信息。MATLAB在a中传递信息DataChangedData对象作为回调函数的第二个参数。在App Designer中,调用该参数事件.您可以查询DataChangedData使用点表示法的对象属性。例如,事件。以前的数据的前一个值数据在最后一次更新或更改之前。这DataChangedData对象不可用于指定为字符向量的回调函数。

的属性DataChangedData目的。

财产 描述
数据 最近的最新数据是由最后一个造成的dataCanged.事件
以前的数据 上次之前的数据dataCanged.事件

MATLAB执行回调的HTML UI组件

EventName “DataChanged”

有关写回调的更多信息,请参阅在App Designer中写回调

对象创建函数,指定为以下值之一:

  • 功能手柄。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在App Designer中写回调

此属性指定MATLAB创建对象时执行的回调函数。方法之前,MATLAB初始化所有属性值CreateFcn回调。如果您没有指定CreateFcn属性,然后MATLAB执行一个默认创建函数。

设置CreateFcn属性对现有组件没有影响。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用gcbo函数访问对象。

对象删除函数,指定为其中一个值:

  • 功能手柄。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在App Designer中写回调

此属性指定MATLAB删除对象时要执行的回调函数。Matlab执行了DeleteFcn销毁对象属性之前的回调。如果您没有指定DeleteFcn属性,然后MATLAB执行一个默认删除函数。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问要删除的对象。否则,使用gcbo函数访问对象。

回调执行控制

全部展开

回调中断,指定为'在'“关闭”,或数字或逻辑1真正的)或0.).价值'在'相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

此属性确定是否可以中断运行回调。有两个回调状态需要考虑:

  • 运行Callback是当前正在执行的回调。

  • 打断Callback是一个试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调尝试中断正在运行的回调(如果存在的话)。这可中断属性决定是否允许中断。

  • 价值'在'允许其他回调来中断对象的回调。中断发生在MATLAB处理队列的下一个点,例如当有drawnow数字uifiguregetframe等待,或暂停命令。

    • 如果运行回调包含其中一个命令,则Matlab在该点处停止执行回调并执行中断回调。MATLAB在中断回调完成时执行运行回调。

    • 如果正在运行的回调函数不包含这些命令之一,那么MATLAB将在不中断的情况下完成回调函数的执行。

  • 价值“关闭”阻止所有中断尝试。这忙碌拥有中断回调的对象的属性决定中断回调是否被丢弃或放入队列中。

笔记

在这些情况下,回调中断和执行的行为是不同的:

  • 如果中断回调为DeleteFcnCloseRequestFcnSizeChangedFcn回调,则中断发生不管可中断属性值。

  • 如果正在运行的回调函数正在执行等待函数,则不管可中断属性值。

  • 计时器对象根据调度执行,而不管可中断属性值。

当中断发生时,MATLAB不保存属性或显示的状态。方法返回的对象gcagcf命令可能在执行另一个回调时更改。

回调排队,指定为“队列”“取消”.这忙碌属性决定了MATLAB如何处理中断回调的执行。有两个回调状态需要考虑:

  • 运行Callback是当前正在执行的回调。

  • 打断Callback是一个试图中断正在运行的回调的回调。

当MATLAB调用回调时,回调试图中断正在运行的回调。这可中断属性决定是否允许中断。如果不允许中断,那么忙碌拥有中断回调的对象的属性决定了它是被丢弃还是放入队列中。这些是可能的值忙碌属性:

  • “队列”—将中断回调放入正在运行的回调执行完成后待处理的队列中。

  • “取消”—不执行中断回呼。

此属性是只读的。

删除状态,返回类型类型的开/关逻辑值matlab.lang.OnOffSwitchState

Matlab设置了BeingDeleted财产'在'DeleteFcn回调函数开始执行。这BeingDeleted属性仍然设置为'在'直到组件对象不再存在。

检查该值BeingDeleted属性验证在查询或修改之前未删除对象是否即将删除。

父/子

全部展开

父容器,指定为a数字使用uifigure函数或其子容器之一:选项卡面板ButtonGroup,或GridLayout.如果没有指定容器,则MATLAB调用uifigure创建新的功能数字作为父容器的对象。

指定的对象句柄的可见性'在''打回来',或“关闭”

此属性控制对象在其父的子列表中的可见性。当一个对象在其父的子列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数不会返回该对象。这些功能包括得到findobjclf,关闭.对象即使不可见也是有效的。如果你可以访问一个对象,你可以设置和获取它的属性,并将它传递给任何操作对象的函数。

HandleVisibility价值 描述
'在' 物体总是可见的。
'打回来' 对象在回调或由回调调用的函数中可见,但在从命令行调用的函数中不可见。这个选项阻止在命令行中访问对象,但允许回调函数访问它。
“关闭” 物体在任何时候都是看不见的。这个选项对于防止其他函数对UI的意外更改非常有用。设置HandleVisibility“关闭”在执行该函数期间临时隐藏对象。

身份标识

全部展开

此属性是只读的。

图形对象类型,返回为'uihtml'

对象标识符,指定为字符向量或字符串标量。你可以指定一个唯一的标签值作为对象的标识符。当您需要访问代码中的其他地方的对象时,可以使用findobj函数搜索对象标签价值。

用户数据,指定为任何MATLAB数组。例如,可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。

如果你在应用程序设计器中工作,在应用程序中创建公共或私有属性来共享数据,而不是使用用户数据财产。有关更多信息,请参见在应用程序设计器应用程序中共享数据

在R2019B中介绍