为应用程序设计器配置自定义UI组件
从R2021a开始,当你创建一个自定义UI组件时,你可以配置你的组件,让应用程序创建者在应用程序设计器中交互使用。配置UI组件后,应用程序创建者可以将该组件添加到组件库并且可以在App Designer画布和属性检查器中与组件交互。
类的子类,以交互方式或编程方式创建自定义UI组件,请遵循这些配置步骤matlab.ui.componentcontainer.ComponentContainer
基类,你可以用以下方式中的任何一种来使用它:
从应用程序设计器中访问UI组件组件库并交互地使用它来创建App Designer应用程序。
共享你的UI组件,让其他人可以在应用程序设计器中交互使用来创建应用程序。
有关创建自定义UI组件的更多信息,请参见:
在应用设计器中创建一个简单的自定义UI组件以交互方式创建组件
以编程方式开发自定义UI组件以编程方式创建组件
自定义UI组件前提条件
为了让你的自定义UI组件在App Designer中被交互地使用,你的UI组件类必须满足一些要求。
要成功配置UI组件,请使用设置
你的UI组件类的方法不能有必需的输入参数。此外,组件类不能动态地向其父容器添加额外的UI组件。唯一的例外是类可以动态添加快捷菜单
组件的父图。
要使组件类的公共属性出现在属性检查器中,必须指定其类型或为其分配默认值。如果属性是枚举,则必须这两个指定其类型并为其分配默认值。此外,属性类型必须属于应用程序设计器支持的类型列表。金宝app此表显示了允许的属性类型及其在属性检查器中的外观。
属性分类 | 金宝app支持的数据类型 | 属性检查器输入 |
---|---|---|
数值 | 类型的标量或数组单 ,双 ,int8 ,int16 ,int32 ,int64 ,uint8 ,uint16 ,uint32 ,或uint64 |
编辑字段 |
逻辑 | 逻辑 |
复选框 |
文本 | 类型的标量字符串 类型的标量或行向量字符 ,以及类型的标量或向量细胞 |
文本区域 |
枚举 | 枚举 |
可编辑下拉列表 |
有关指定属性类型和分配默认值的更多信息,请参见:
在应用程序设计器中为自定义UI组件创建公共属性用于交互创建的组件
以编程方式管理自定义UI组件的属性用于以编程方式创建的组件
配置自定义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对话框。此对话框允许您指定关于组件的元数据。应用程序设计器使用此元数据在组件库.
对话框预填充组件类定义中所有必需的元数据。您可以使用表单编辑预填充的元数据。选择好吧来配置UI组件。
选择之后好吧,该函数创建一个名为资源
在与自定义组件文件相同的文件夹中。在资源
文件夹时,该函数生成一个名为appDesigner.json
.该文件包含您在对话框中提供的元数据,以及MATLAB在应用程序设计器中提供组件所需的其他元数据。
请注意
请勿修改appDesigner.json
手工归档。要更改任何自定义UI组件元数据,请重新配置该组件。
在应用程序设计器中查看配置的UI组件
配置自定义UI组件后,可以在App Designer中查看和使用它。使UI组件出现在应用程序设计器中组件库,则必须添加包含并生成组件文件的文件夹资源
文件夹到MATLAB路径。
例如,如果您创建了一个ColorSelector
自定义组件,将其保存到一个名为MyComponents
,并配置它的App Designer元数据,按照以下步骤在App Designer中使用组件:
添加
MyComponents
中的步骤将文件夹移到MATLAB路径在“搜索路径”中更改文件夹.打开应用程序设计器并选择空白应用程序.
中拖动组件组件库到App Designer画布上。
组件的属性检查器列出了组件的公共属性和回调函数。
请注意
在App Designer应用程序中使用组件时,避免更改自定义组件文件,因为这样做可能会导致错误或意外行为。
重新配置自定义UI组件
在以下情况下重新配置以前配置的UI组件:
您希望更改现有UI组件元数据并更新组件在App设计器中的显示方式组件库.
您已经更改了UI组件在类定义中的位置或布局。
要重新配置UI组件,请执行配置自定义UI组件部分。“应用程序设计器自定义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工具条中找到并安装您的加载项:
在MATLAB工具条中,在首页选项卡,在环境部分中,选择附加组件.
通过浏览“外接程序资源管理器”窗口左侧的可用类别来查找外接程序。或者,使用搜索栏使用关键字搜索附加组件。
单击该插件以打开其详细信息页面。
在信息页面单击添加安装附加组件。
排除丢失自定义UI组件的故障
要打开一个包含自定义UI组件的应用程序,该组件文件并生成资源
文件夹必须在MATLAB路径下。如果App Designer无法加载自定义UI组件,它将在应用程序打开时显示一个警告对话框。如果你在打开应用程序时遇到这个对话框,请按照以下步骤加载缺少的组件:
确保UI组件文件和生成
资源
包含组件元数据的文件夹都在一个文件夹中。添加包含组件文件和的文件夹
资源
中的步骤将文件夹移到MATLAB路径在“搜索路径”中更改文件夹.重新打开包含自定义UI组件的应用程序。应用程序和组件现在应该按预期加载。
另请参阅
功能
appdesigner.customcomponent.configureMetadata
|appdesigner.customcomponent.removeMetadata
|appdesigner