4

我继承了一堆 Matlab 脚本,这些脚本使用对 uicontrol、uimenu 等的调用手动构建 GUI。多年来,我们需要向 GUI 中删除和添加元素,并且由于所有位置都是在脚本中手动指定的,因此布局并没有真正改变以容纳缺失的元素,所以它真的开始看起来像一堆垃圾。

有没有办法自动将我的 matlab 脚本 gui 转换为我可以与指南一起使用的东西?我宁愿不必重新开始...

4

2 回答 2

6

使用 GUIDE 生成的 GUI 并不比手动编写的 GUI 好多少(我认为在可维护性方面不差的话)。

可悲的事实是 MATLAB 中没有内置的布局管理器(FEX 上有用户贡献的布局管理器,如边框布局网格包布局等)。如果您正在重构代码,请考虑使用某种 GUI 布局管理器。

要回答您的问题,afaik 没有用于此类转换的自动工具。


确切地说,MATLAB 有一些未记录的布局管理器:uiflowcontaineruigridcontainer. 请参阅Yair Altman 的这篇文章

于 2013-04-23T13:31:18.323 回答
2

好吧,没有自动转换实用程序,但您不需要使用 GUIDE 从头开始​​创建所有内容。

执行您的 GUI 以显示图形窗口并将其保存为 fig 文件。然后可以使用指南编辑此文件。但是,这需要在您的代码中进行手动调整。特别是如果您需要访问句柄并且我也不确定回调函数。

然而,正如 Amro 已经指出的那样,GUIDE 并不是一个完美的解决方案。

于 2013-04-23T14:47:00.513 回答