图片缩略图

应用程序设计师迁移工具的MATLAB指南

使用指南到应用程序设计器迁移工具来帮助您将指南应用程序转换到应用程序设计器。
3.1
31级

261下载

更新2021年3月10

编者按:这个文件被选为MATLAB中心本周精选

R2020a是将应用程序迁移到App Designer的推荐版本。

从R2020a开始,对迁移工具的改进大大减少了在app Designer中运行应用程序所需的手动代码更新时间和数量。这些改进有助于使你的guidestyle回调代码与迁移后的应用程序中的App Designer UI组件兼容。然而在R2018a到R2019b版本中,你必须手动更新所有的函数和回调代码来与App Designer一起工作。
有关迁移工具最新版本的详细信息,请参见指南迁移策略(//www.tatmou.com/help/matlab/creating_guis/differences-between-app-designer-and-guide.html)在MATLAB文档中。

* * * * * *背景
在R2019b中,MathWorks宣布将在未来的版本中删除用于在MATLAB中构建应用程序的GUIDE设计环境。GUIDE是建立在较老的第三方技术上的,这些技术不能支持现代的基于web的工作流和MATLAB用户要求的功能。金宝app

App Designer,首次在R2016a中发布,是GUIDE的替代品,是在MATLAB中构建应用程序的推荐环境。它是用基于web的技术构建的,比如JavaScript、HTML和CSS,所以它构建的环境和应用程序是web友好的。

应用程序设计师提供了:
•改进的设计画布和扩展组件集
•用于管理应用程序中的数据的健壮编程模型
•桌面、web和MATLAB在线应用程序共享

将GUIDE应用迁移到app Designer可以让你继续交互式地开发应用的布局。它还可以让你利用App Designer提供的新功能和改进。有关功能列表,请参阅比较指南和应用程序设计器(//www.tatmou.com/下载188bet金宝搏products/matlab/app-designer/comparing-guide-and-app-designer.html?s_tid=srchtitle)。

***迁移工具的功能***
应用程序设计器指南迁移工具是一个半自动化的工具,可以将您的指南应用程序转换为应用程序设计器。它生成一个MLAPP文件,其中包含:
•App Designer组件、属性配置和布局与你在GUIDE中创建的相同
•GUIDE中定义的函数和回调代码的副本

该工具还生成一个迁移报告,其中列出了任何限制或不支持的功能,如果可用的话,还提供了解决问题的建议操作。金宝app

意见及评分(76

伊恩·达菲

我使用这个工具的运气比这里的大多数评论员好得多。它将我的应用程序的布局完全移植到了指南中,我所需要做的就是解决下拉列表是如何处理的。任何一天,我都会使用这个迁移工具,而不是从头开始重新制作应用程序。

约翰·马克·恩哈因斯

哦,另外,在我的工作从指南转换到应用设计师后,它完全是一团糟。只有25%的工作只在运行应用程序时显示。这太疯狂了,Matlab。我希望您应该考虑更新指南,而不是制作一个全新的指南。

zechuan陈

William,当删除指南设计环境时,使用指南构建的应用程序和使用uicontrol的应用程序将继续运行。在可预见的未来,这种支持将继续存在。该信息传达的是,当删除该工具时,您将无法在指南中以交互方式编辑应用程序(即,没有拖放功能),但您有多个选项可以继续编金宝app辑基于指南的应用程序。选项包括导出到.m文件进行手动编辑或迁移到App Designer进行交互式拖放编辑;在这两种情况下都支持uicontrol。
请访问“比较指南和应用程序设计师”页面获取更多信息。
//www.tatmou.com/下载188bet金宝搏products/matlab/app-designer/comparing-guide-and-app-designer.html?s_tid=srchtitle

沃尔夫冈Jacquet

威廉·蒂里克

“用于在MATLAB中构建应用程序的指南设计环境将被删除”实际上是什么意思?是仅删除了指南工具,还是也删除了uicontrol?

以色列西尔柏

你好,Dain, actxcontrol (//www.tatmou.com/help/matlab/ref/actxcontrol.html)在App Des金宝appigner中不支持,并将在MATLAB的未来版本中删除,但actxserver (//www.tatmou.com/help/matlab/ref/actxserver.html),并且仍金宝app然可以用来帮助解决您的目标,这取决于您的用例。App Designer还有其他可扩展选项,如自定义UI组件(//www.tatmou.com/help/matlab/developing-custom-ui-component-classes.html)和uihtml (//www.tatmou.com/help/matlab/ref/uihtml.html)这可能对你有帮助。我们有兴趣了解更多关于您的目标,并帮助您考虑替代方案。金宝搏官方网站请给我们留言//www.tatmou.com/matlabcentral/profile/contact/5775824我们很乐意和你约个时间见面。

dain杰雷米

在App Designer中不能工作的“actxserver”功能的替代解决方案是什么?
没有这个函数,我们如何在应用程序设计器中调用外部程序?

在您的网站上没有太多帮助:https://fr.mathworks.com/下载188bet金宝搏products/matlab/app-designer/java-swing-alternatives.html?s_tid=mwa_osa_a

我不理解用appdesigner代替GUI的Matlab策略。

小东刘

亚当·H

我看到这是为R2020b更新的。这个工具在R2020a和20b之间有什么变化?

Hi Hadi,迁移工具迁移图形在GUIDE中设置的位置属性。如果图形的位置超出了屏幕尺寸,则GUIDE有一些额外的逻辑将其完全显示在屏幕上。程序设计师不这样做,为了解决这个问题,你可以调整迁移指导应用的图位置值在屏幕尺寸使用属性检查器在应用程序设计师或您可以使用MOVEGUI命令在迁移后的应用程序的启动函数的应用程序放置在屏幕上。

哈迪正义与发展党

我有一个非常简单的GUI开发指南。当我在设计视图中进行迁移时,不知怎么的,所有的东西都和指南中的主图很像,但是当我运行它时,Gui似乎会移到屏幕的上角,我无法移动它!!迁移工具的版本是“GUIDE to App Designer migration tool for MATLAB 20.1.0 MATLAB”

嗨,Michael,根据您的描述,我们无法复制此问题。请联系技术支持,我们将很乐意帮助您解决此问题。您可以通过以下地址联系技术支持:support@mathworks.com或在以下位置创建帮助通知单:金宝app//www.tatmou.com/金宝appsupport/contact_us.html.如果可能,请包括您的指南应用程序或您的指南应用程序的版本,复制问题。

迈克尔Mullaney

我不确定我的第一个消息发生了什么,但我无法使用app Designer迁移工具在代码视图中编辑最近迁移的指南应用程序的代码。我指的不是灰色区域中不可编辑的代码,而是白色代码本身。我在.mlapp代码中有一些简单的错误,比如回车将语句的结尾移动到下一行,具体来说:

app.axesML.YTickLabel = {' 1 ';“0.8”;“0.6”;“0.4”;“0.2”;“0”;“-0.2”;“-0.4”;“-0.6”;“-0.8”; '-1
'};

我得到的错误是:

'带引号的字符向量是未终止的'

我不能编辑它来修复它,也不能对代码做任何其他更改。问题是我刚刚升级到的2020a版本。我重新启动了我的电脑。我在安装迁移工具时没有任何错误。我正在运行windows 10,它也刚刚更新。

米歇尔·赫希

您好,Edith,看来迁移工具的安装可能有问题。尝试以下在中概述的步骤//www.tatmou.com/matlabcentral/answers/318635-how-do-i-perform-a-clean-re-installation-of-a-金宝appsupport-package重新安装的尝试。如果这还不能解决您的问题,请联系安装和许可支持,以获得安装迁移工具的帮助。金宝app你可以在support@mathworks.com给他们发邮金宝app件,或者在//www.tatmou.com/金宝appsupport/contact_us.html

伊迪丝·瓦莱

每次我点击Browse按钮选择一个文件迁移到App Designer,我得到以下错误:
错误使用消息/ getString
无法加载消息目录“appmigration:appmigration”。请
检查文件位置和格式。

错误
appmigration.internal.GUIDEAppMigrationTool / BrowseButtonPushed(线
64)
[filename, pathname] = uigetfile('*.fig',
getString(消息(“appmigration: appmigration: SelectFigFile”)));
使用matlab.ui.control.internal.controller.ComponentController/executeUserCallback出错(第335行)
当评估Button PrivateButtonPushedFcn时出错。

托马斯,试试下面列出的步骤//www.tatmou.com/matlabcentral/answers/318635-how-do-i-perform-a-clean-re-installation-of-a-金宝appsupport-package重新安装的尝试。如果这还不能解决您的问题,请联系安装和许可支持,以获得安装迁移工具的帮助。金宝app你可以在support@mathworks.com给他们发邮金宝app件,或者在//www.tatmou.com/金宝appsupport/contact_us.html

托马斯·柯尼格

我一直无法在我的mac上安装这个附加组件。我不断得到消息“这个文件夹名称无效。”文件夹名称可以包含字母数字字符和'-','_','。',或仅'/'。目标文件夹不能命名为“私有”。无论我在Matlab的首选项中为Add-Ons选择什么安装文件夹。默认值("/Users/thomaskoenig/Library/Application Support/M金宝appathWorks/MATLAB Add-Ons")也会产生相同的错误消息

曾俊华,试试下面的步骤//www.tatmou.com/matlabcentral/answers/318635-how-do-i-perform-a-clean-re-installation-of-a-金宝appsupport-package重新安装的尝试。如果这还不能解决您的问题,请联系安装和许可支持,以获得安装迁移工具的帮助。金宝app你可以在support@mathworks.com给他们发邮金宝app件,或者在//www.tatmou.com/金宝appsupport/contact_us.html

mc蹭

我做了一个离线安装,但没有成功安装,我得到一个“支持软件安装错误:系统没有所需的MATLAB版本,以启动支持包安装”,而我的MATLAB版本是R2019b,有人可金宝app以帮助吗?

EMILITTA迈克尔

Charles,使用GUIDE构建的应用程序将继续得到支持并在MATLAB中运行,即使GUIDE拖放环金宝app境不再可用。此外,GUIDE应用程序可以通过从GUIDE“文件”菜单中选择“导出到MATLAB文件”,将其导出到单个MATLAB文件,从而继续以编程方式编辑。要以交互方式编辑GUIDE应用,需要将它们迁移到App Designer。

我们不断向App Designer和《App Designer迁移工具指南》添加新功能,以改善迁移体验。在即将发布的版本中,迁移工具将通过额外的自动化功能得到增强,以最大限度地减少迁移应用程序所需的时间。

有关GUIDE和App Designer的最新功能比较,请访问://www.tatmou.com/下载188bet金宝搏products/matlab/app-designer/comparing-guide-and-app-designer.html

查尔斯。詹姆斯

强烈建议您不要放弃GUIDE,除非您能够支持所有功能并使迁移更加简单。由于功能不受支持,我们无法迁移任何GUI,并且我金宝app们不能浪费时间从头开始重新开发它们。如果Matlab未来版本不继续支持使用GUIDE构建的GUI,我将非常担心。

Manuel ulb

是否有针对Matlab R2016b的迁移工具的版本?谢谢!

Pankaj,《应用程序设计器迁移工具指南》仅适用于R2018a及更高版本。

Pankaj Jha

这与MATLAB 2014a兼容吗

Hi Muhammad,迁移工具支持MATLAB R2018a和Win金宝appdows 10。尝试下面列出的步骤//www.tatmou.com/matlabcentral/answers/318635-how-do-i-perform-a-clean-re-installation-of-a-金宝appsupport-package重新安装的尝试。如果这还不能解决您的问题,请联系安装和许可支持,以获得安装迁移工具的帮助。金宝app你可以在support@mathworks.com给他们发邮金宝app件,或者在//www.tatmou.com/金宝appsupport/contact_us.html

我的MATLAB版本是2018a,我使用的是windows 10,错误说,“这个包不支持您的操作系统或您的MATLAB版本。”金宝app我以为是在2018a以上。

Ioana Nistea

应用程序设计器没有工具栏?打开函数去了?颜色定制显著减少?这个新产品就是个笑话,为什么要发布一个比你之前的产品功能更少的产品呢?我试图迁移我的一个gui,但它完全搞砸了事情,它将花费我不合理的时间使其功能,更不用说纠正它的美学。

金惠生

没有internet时如何安装?

用于R2019b的工具的19.2.1版本可用,并解决了中描述的问题//www.tatmou.com/matlabcentral/answers/483471-why-do-uicontrol-components-disappear-after-using-app-designer-migration-tool-in-r2019b-to-migrate-g. 我们感谢您的耐心和反馈。

拉尔斯·林格伦

每次我启动指南并选择迁移或打开我的fig文件,然后选择迁移时,我都会得到安装迁移工具的建议,我已经多次这样做了(包括在安装和再次启动之间退出mac上的Matlab 2019b)
为什么matlab不能识别已经安装的迁移工具?

迈克帮

这对我毫无帮助。我迁移了一个包含20多个元素的GUIDE GUI,得到了一个带有两个白盒子的空白应用程序。报告提供了一点指导,但是我必须手动重新创建整个GUI。

快乐的博士

如何从应用设计器指南中获得相同的“PickableParts”功能?

王董

您好,AppDesigner是否支持获取datacursormode的任何计划?金宝app

在修复可用之前,请参阅//www.tatmou.com/matlabcentral/answers/483471-why-do-uicontrol-components-disappear-after-using-app-designer-migration-tool-in-r2019b-to-migrate-g对于R2019b(19.2.0)版本迁移工具中阻止UIControl组件迁移的错误的解决方法。

R2019b迁移工具(版本19.2.0)有一个bug,导致GUIDE应用程序不能正确迁移。我们正在修复,并将尽快更新工具。R2019a和以前版本的迁移工具不会出现此问题。对于此事给您带来的不便,我们深表歉意。

Macey保罗

2019b对我不起作用。我使用了一个简单的GUIDE GUI,但它实际上只是创建了一个空白的App Designer GUI。我有一个列表框,按钮,单选框,复选框,编辑框,甚至是纯文本,但除了一个框架之外什么都没有出现(但在错误的地方)。我也有没有迁移的背景颜色。没有重大错误的报告。

Justin,迁移工具应该生成一个mlap文件并在App Designer中打开它。请联系技术支持support@mathworks.金宝appcom或创建一个帮助票在//www.tatmou.com/金宝appsupport/contact_us.html得到援助。

贾斯汀Kadow

《App Designer Migration Tool for MATLAB指南》不起作用。当我浏览一个.fig文件并单击Migrate时,它似乎上传了一个文件,但是什么也没有发生。

贾斯汀Kadow

名叫Akanksha Mishra

画了

高科技的人

xiufa杨

Malgorzata,从错误消息中,似乎你可能已经阴影“uibutton”,这是一个MATLAB函数,用于创建一个按钮,并被迁移工具使用。为了解决这个问题,你可能需要从MATLAB路径中移除你的“uibutton”函数,重命名它,或者放入一个MATLAB包中。如果您需要进一步的帮助,请联系技术支持support@mathworks.com或创建一个帮助票在金宝app//www.tatmou.com/金宝appsupport/contact_us.html

马格达雷娜Florek

你好,我尝试使用这个工具与Matlab 2019,但在试图迁移我的应用程序时出错。由于我以前使用指南制作的应用程序相当复杂,代码可能会被认为很混乱,所以我决定从一些非常简单的东西开始,从指南模板(带有轴和菜单的Gui,然后是Modal问题对话框)创建一个应用程序。即使是这样简单的应用程序,我也不能迁移它们,我得到的错误的参数数量,例如:
“错误使用uicontrol
输入参数个数不正确。

uibutton错误(第93行)
h = uicontrol(变长度输入宗量{:})

在appmigration.internal.GUIDEAppMigrationTool/createComponents错误(第165行)
app.MigrateButton = uibutton(应用程序。UIFigure,“推”);

在appmigration.internal.GUIDEAppMigrationTool/createComponents错误(第214行)
createcomponent(应用)

appmigration.internal.convertGUIDEApp(13号线)
app.MigrationAppInstance =
appmigration.internal.GUIDEAppMigrationTool(变长度输入宗量{:});

错误在guidefunc>layoutExportAppDesigner(行1735)
appmigration.internal.convertGUIDEApp(文件名);

错误在guidefunc(第49行)
varargout=layoutExportAppDesigner(varargin{:});"

你知道是什么问题吗?

Vasishta,您描述的组件混乱/重叠布局可能是一个错误,因为迁移工具应该几乎重新创建与指南应用程序相同的布局。请回复您正在使用的迁移工具版本,以便我们确定如何提供帮助。您可以通过查看MATLA的输出来获取版本B command>>matlabshared.supportpkg.getInstalled。另外,执行迁移时您缺少哪些图形组件?注意,可见性设置为off的组件在指南中仍然可见,但在App Designer设计视图中它们似乎不可见,因此可能是缺少某些组件的原因。金宝app

VBBV

感谢您的迁移工具。
当我尝试从GUIDE迁移到App designer环境时,操作成功了,但是在布局上有很大的不同,缺少图形组件,混乱/重叠的弹出菜单,复选框等,与原来使用GUIDE创建的布局设计相比。
有人知道如何从GUIDE迁移到Appdesigner界面而不改变在GUIDE中创建的原始布局吗??任何帮助都将不胜感激。

约翰Spicer

没有工具栏,就没有理由转到App Designer。我不敢相信他们会在没有这个的情况下发布新的GUI工具。
何苦呢?

ShuKun杜

Umair,要安装迁移工具,请启动App Designer,在“Designer”选项卡中选择“Open > Open GUIDE to App Designer migration tool”。在弹出的对话框中单击“获取附加组件”。然后,Add-on Explorer将启动并打开迁移工具的页面。点击“安装”下载并安装工具。如果您需要进一步的帮助,请联系support@mathworks.com的安装和许可支持,或创建一个帮助票金宝app//www.tatmou.com/金宝appsupport/contact_us.html

乌迈尔·拉苏尔

先生,我有点困惑如何安装指南的应用程序设计师迁移工具的MATLAB。

成国栋李

Roman,请联系安装和许可支持,以获得离线安装迁移工具的帮助。金宝app你可以在support@mathworks.com给他们发邮金宝app件,或者在//www.tatmou.com/金宝appsupport/contact_us.html

罗马Gorlov因此

你能提供一个。mltbx格式或其他任何东西吗?由于公司防火墙,我安装这个有问题。

Shreeprasad Bhat

Teodo

格雷格,谢谢你的评论。GUIDE对于所有单位都是基于0的,除了像素是基于1的。因为App Designer使用像素单位,所以迁移工具在执行迁移之前首先将所有单位转换为像素。因此,移动工具不需要将位置调整1像素。

格雷格

FYI -来自R2016b发布说明-“App Designer组件的位置属性使用基于1的像素单位原点。在R2016a中,App Designer组件使用了基于0的原点。”GUIDE也使用基于0的原点。

这个迁移工具不会给左边/底部的元素添加1。

阿Gurram

App Designer Migration Tool指南可用于R2018a及更高版本。

TM Hoogland

这个迁移工具兼容哪些版本的MATLAB ?
在R2016a中,我得到了以下错误:“应用程序设计器迁移工具指南MATLAB不适用于此版本的MATLAB”。假设迁移工具在最新版本之间可以互操作似乎是合理的。

格雷格,谢谢你让我们注意到这一点。我们在描述中添加了一些额外的信息,以帮助人们发现和使用该工具。

格雷格

我已经向TheMathWorks提交了一个投诉,说这些工具几乎不可能被发现(弄清楚如何在安装后启动)。这里有一些窍门:

方法# 1:
1) 执行MATLAB命令“guide”
2)在“GUIDE Quick Start”对话框中,导航到“Open Existing GUI”选项卡
3)按下“Migrate to App Designer…”

方法# 2:
1)在GUIDE UI设计环境中打开一个你已经创建的基于GUIDE的应用程序/图形。
2) 选择“文件-->迁移到应用程序设计器…”

方法# 3:
1)启动appdesigner
2) Open -> Open GUIDE to App Designer Migration Tool…

方法# 4:
> > appmigration.internal.GUIDEAppMigrationTool

Tara,该工具是指MATLAB R2018a和更高。

塔拉普拉萨德Mishra

我得到一个错误安装这个包。这个错误说,“这个包不支持您的操作系统或MATLAB版本。”金宝app我使用的是Matlab的Windows 8.1和2017b。

Jandongξ

Lyamine Hedjazi

凯文·李

克里斯门户

MATLAB版本兼容性
创建R2018a
兼容R2018a到R2021a
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!