我为什么要放弃matlab的gui ,选择appdisigner !!

整理时间:2020-02-28

  1. GUI 设计

自认为在matlab的GUI设计中,还是很不错的。我经常会制作一些小的计算与图像可视化的工具,以便平时算法设计的调参验证。
GUI是matlab 早期的一个 人机界面交互 方式,可以使用一些控件计算一些值。

GUI的设计风格,用我个人的话来说,这是一个 面向过程 和面向对象 的杂种,里面既用过了 面向对象的概念,比如你操作的一个figure,gca,gcf,axes,axis,handles 等等。但是它还是以 面向过程 为主的,你可以发现,matlab的gui对应了一个m件,这个文件是函数,不是脚本。
在这里插入图片描述

  1. AppDesigner 设计
    这几天我升级了我的matlab版本,才发现appdesigner的强大,完完全全的是
    面向对象 的应用。
    它的文件就是一个 类class,而非 function。
    在这里插入图片描述

  2. 我选择AppDesigner !!!

为什么选择后者,原因有以下几点

  • 组件控件方面
    多了很多,很一些很好看的航空仪表等。其实这些都太花哨,较GUI ,我最渴望的几个组件终于来了,“选项组卡”,“多行文本”。这两个太实用,也太好了,后续我会说。

  • 时代

    GUI要被淘汰了,必须得跟上步伐,在2016版本以后都加入appdesigner了,GUI即将成为历史,也终将成为历史,matlab官方也不打算更新了。

  • 面向对象 VS 面向过程

    我认为最为重要的一点,很多人误认为 appdesigner 是gui的升级版本,错,大错特错,appdesigner是 GUI 的替代品,它是一个新的东西。
    它是 面向对象 的灵魂+ 多种屌炸天高颜值的组件控件 的完美结合。
    面向对象使得 matlab的参数数据传递,so easy ~。再回想之前写GUI时候,各种头疼怎么放参数的问题,一大堆global ,要么就把数据往 控件的属性里面想办法放,当设计要做一个复杂的界面时,面向过程 真是黔驴技穷了,选对方法比努力蛮干更重要。使用 appdesigner ,它本身就是 一个 大类,你可以把你执行过程中的数据放在 一个私有属性中,调用起来也很方便。这才是我选择appdesigner的最大原因。

  • 写代码的人性化
    appdesigner 非常人性化,很多的提示,而且代码和图形视窗在一个文件mlapp中,切换自如。
    GUI有个bug就是,你一不注意的话。同时打开很多的同样界面,修改完后,保存时候又要报错。appdesigner 你大可放心,只会出来一个文件,不会打开多个一样窗口,它会防止你有这样的误操作。

  1. 吐槽一个
    没有完美的产品,只有不断更新的更好的产品。成也萧何,败也萧何。
    appdesigner 给提供了一个很友好的写代码方式,很多提示,但是它的灰色代码区域,也就是他自己生成的那些,改动不了很麻烦,你一不小心,多写个end ,还没有修改的话,等你保存了,然后报错后,想改灰色区域代码时候。
    这时候,不让你拷贝,也不让你复制,不让你删除!!!键盘鼠标对他完全没反应,把人能气死~~
    希望matlab开发人员改改,谢谢~
    我很不幸的就遇到了这个问题。
    在这里插入图片描述

结束。。。

发布了105 篇原创文章 · 获赞 90 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hahahahhahha/article/details/104562426