主要内容

为应用程序设计器配置自定义UI组件

从R2021a开始,当你创建一个自定义UI组件时,你可以配置你的组件,让应用程序创建者在应用程序设计器中交互使用。配置UI组件后,应用程序创建者可以将该组件添加到组件库并且可以在App Designer画布和属性检查器中与组件交互。

类的子类,以交互方式或编程方式创建自定义UI组件,请遵循这些配置步骤matlab.ui.componentcontainer.ComponentContainer基类,你可以用以下方式中的任何一种来使用它:

  • 从应用程序设计器中访问UI组件组件库并交互地使用它来创建App Designer应用程序。

  • 共享你的UI组件,让其他人可以在应用程序设计器中交互使用来创建应用程序。

有关创建自定义UI组件的更多信息,请参见:

自定义UI组件前提条件

为了让你的自定义UI组件在App Designer中被交互地使用,你的UI组件类必须满足一些要求。

要成功配置UI组件,请使用设置你的UI组件类的方法不能有必需的输入参数。此外,组件类不能动态地向其父容器添加额外的UI组件。唯一的例外是类可以动态添加快捷菜单组件的父图。

要使组件类的公共属性出现在属性检查器中,必须指定其类型或为其分配默认值。如果属性是枚举,则必须这两个指定其类型并为其分配默认值。此外,属性类型必须属于应用程序设计器支持的类型列表。金宝app此表显示了允许的属性类型及其在属性检查器中的外观。

属性分类 金宝app支持的数据类型 属性检查器输入
数值 类型的标量或数组int8int16int32int64uint8uint16uint32,或uint64 编辑字段
逻辑 逻辑 复选框
文本 类型的标量字符串类型的标量或行向量字符,以及类型的标量或向量细胞 文本区域
枚举 枚举 可编辑下拉列表

有关指定属性类型和分配默认值的更多信息,请参见:

配置自定义UI组件

配置在App Designer中使用的自定义UI组件的方式取决于您是在App Designer中交互创建该组件,还是以编程方式创建该组件ComponentContainer基类。

  • 在应用程序设计器中创建的组件-在应用程序设计器中打开组件。在文件部份设计师选项卡上,单击配置

    或者,调用appdesigner.customcomponent.configureMetadata来自MATLAB的函数®命令窗口,并将其传递到组件MLAPP文件的路径。

  • 以编程方式创建的组件-调用appdesigner.customcomponent.configureMetadata函数,并将其传递到组件类文件的路径。

    例如,配置保存为的自定义UI组件ColorSelector.m在文件夹里C: \ MyComponents,使用此命令:

    appdesigner.customcomponent.configureMetadata (“C: \ MyComponents \ ColorSelector.m”);

按照这些步骤打开App Designer Custom UI Component Metadata对话框。此对话框允许您指定关于组件的元数据。应用程序设计器使用此元数据在组件库

ColorSelector组件的App Designer自定义UI Component元数据对话框

对话框预填充组件类定义中所有必需的元数据。您可以使用表单编辑预填充的元数据。选择好吧来配置UI组件。

选择之后好吧,该函数创建一个名为资源在与自定义组件文件相同的文件夹中。在资源文件夹时,该函数生成一个名为appDesigner.json.该文件包含您在对话框中提供的元数据,以及MATLAB在应用程序设计器中提供组件所需的其他元数据。

请注意

请勿修改appDesigner.json手工归档。要更改任何自定义UI组件元数据,请重新配置该组件。

在应用程序设计器中查看配置的UI组件

配置自定义UI组件后,可以在App Designer中查看和使用它。使UI组件出现在应用程序设计器中组件库,则必须添加包含并生成组件文件的文件夹资源文件夹到MATLAB路径。

例如,如果您创建了一个ColorSelector自定义组件,将其保存到一个名为MyComponents,并配置它的App Designer元数据,按照以下步骤在App Designer中使用组件:

  1. 添加MyComponents中的步骤将文件夹移到MATLAB路径在“搜索路径”中更改文件夹

  2. 打开应用程序设计器并选择空白应用程序

  3. 中拖动组件组件库到App Designer画布上。

组件的属性检查器列出了组件的公共属性和回调函数。

App Designer画布上的ColorSelector UI组件。UI组件可以通过应用程序设计器组件浏览器进行选择和编辑。

请注意

在App Designer应用程序中使用组件时,避免更改自定义组件文件,因为这样做可能会导致错误或意外行为。

重新配置自定义UI组件

在以下情况下重新配置以前配置的UI组件:

  • 您希望更改现有UI组件元数据并更新组件在App设计器中的显示方式组件库

  • 您已经更改了UI组件在类定义中的位置或布局。

要重新配置UI组件,请执行配置自定义UI组件部分。“应用程序设计器自定义UI组件元数据”对话框打开,其中预填充了现有元数据。

更新元数据,然后选择好吧

ColorSelector组件的元数据对话框,其中类别和作者的名称字段已编辑

回到应用程序设计器。组件出现在组件库使用更新的配置选项。

应用程序设计器组件库,其中ColorSelector UI组件显示在“颜色(自定义)”类别下。鼠标光标指向组件,该组件将显示一条消息,其中包含组件名称、版本、描述、作者和文件位置。

从应用程序设计器中删除UI组件

从应用程序设计器中删除自定义UI组件组件库,使用appdesigner.customcomponent.removeMetadata函数。

通过将组件文件的路径传递给函数来调用该函数。函数将UI组件的元数据从appDesigner.json文件内的资源文件夹,并从应用程序设计器中删除组件组件库

appdesigner.customcomponent.removeMetadata (“C: \ MyComponents \ ColorSelector.m”);

删除自定义UI组件的App Designer元数据后,任何使用它的App Designer应用程序都不能正确加载。若要继续编辑使用UI组件的应用程序,请在打开应用程序之前重新配置该组件。

共享配置的UI组件

在配置UI组件后,您可以在App Designer中将该组件共享给其他人使用。您可以直接共享相关文件,也可以将组件打包为工具箱。在这两种情况下,您还必须共享生成的资源文件夹中。

直接共享UI组件文件

要直接与用户共享已配置的UI组件,请创建并共享包含以下内容的文件夹:

  • UI组件类文件

  • 生成的资源文件夹

指示要与之共享UI组件的用户将共享文件夹添加到MATLAB路径。

将UI组件打包为工具箱

按照下面的步骤将UI组件打包为工具箱创建和共享工具箱.确保打包为工具箱的文件夹包含以下内容:

  • UI组件类文件

  • 生成的资源文件夹

你可以分享结果.mltbx直接向用户提交文件。要安装它,必须双击.mltbx文件在MATLAB中当前文件夹浏览器。

或者,也可以将UI组件作为加载项共享.mltbx文件到MATLAB Central文件交换.您的用户可以通过执行以下步骤从MATLAB工具条中找到并安装您的加载项:

  1. 在MATLAB工具条中,在首页选项卡,在环境部分中,选择附加组件

  2. 通过浏览“外接程序资源管理器”窗口左侧的可用类别来查找外接程序。或者,使用搜索栏使用关键字搜索附加组件。

  3. 单击该插件以打开其详细信息页面。

  4. 在信息页面单击添加安装附加组件。

排除丢失自定义UI组件的故障

要打开一个包含自定义UI组件的应用程序,该组件文件并生成资源文件夹必须在MATLAB路径下。如果App Designer无法加载自定义UI组件,它将在应用程序打开时显示一个警告对话框。如果你在打开应用程序时遇到这个对话框,请按照以下步骤加载缺少的组件:

  1. 确保UI组件文件和生成资源包含组件元数据的文件夹都在一个文件夹中。

  2. 添加包含组件文件和的文件夹资源中的步骤将文件夹移到MATLAB路径在“搜索路径”中更改文件夹

  3. 重新打开包含自定义UI组件的应用程序。应用程序和组件现在应该按预期加载。

另请参阅

功能

相关的话题