基于MATLAB程序设计的计算器(下)
上一次在推文 基于MATLAB程序设计的计算器(中)里提到过会分享用App Designer设计的计算器,所以今天是来还愿的,希望朋友们喜欢。
主要的设计思路、所采用的设计模式都和之前一样,只不过我们换了一种框架而已。一直以来,MATLAB的GUI设计主要以GUIDE为主,从R2016a版本开始引入了App Designer框架,随后每个版本或多或少的更新App Designer,惊喜不断,在外来,App Designer在设计GUI方面极有可能成为主流。
关于App Designer的教程,除了查看官方文档,我觉得很有必要看看大佬徐潇的连载文章:
MATLAB App Designer教程连载1:如何使用App Designer进行的简单的GUI设计
MATLAB App Desinger教程连载2:详解App Designer生成的代码
MATLAB App Designer教程连载3: 如何使用Gauge,Knob,Lamp,和Toggle Switch
MATLAB App Designer教程连载4: App Designer和硬件结合实例
MATLAB App Designer教程连载5: App Designer和MVC模式
MATLAB App Designer教程连载6: App Designer的局限性
另外有大佬打浦桥程序员的文章:
这些推文能够快速的入门App Designer,对基本框架有个大致的了解,接下来的事,咱们都懂得…
另外,还可以参见本公众号中利用App Designer设计GUI的示例:
[MATLAB 取色器 —— APP 版](MATLAB 取色器 —— APP 版)
接下来简单聊下基于App Designer设计的计算器,同样,这里也设计了简易型和科学型这两种生活中常用的计算器,所实现的功能完全和GUIDE框架设计的一样(具体参见基于MATLAB程序设计的计算器(中)),界面如下图所示。
没错,得益于App Designer框架对用户友好的控件,界面相对于GUIDE设计的要漂亮很多,圆角型的按钮,加上2020b版本开始,uifigure可以设置图标,所以这次的计算器加上了计算器样的图标。
纯m文件构建的APP和利用App设计器构建的APP有何区别?
-
纯m文件构建的优点在于灵活,可读性、可扩展性强,适合多界面、功能复杂的APP;
-
App 设计器辅助构建时优点在于快速、直观,只需关注回调函数的编写;
-
纯m文件构建的APP在发布打包时不能进行WEB打包,原因是缺少mlapp文件,这算是很致命的缺点了;
-
App设计器辅助构建的APP自然的会生成一个mlapp文件,因此能够进行WEB打包。
不过在这里,我们还是喜欢用纯m语言进行构建APP,虽然不能发布WEB,但可以发布成exe文件,或者mlappinstall文件。
感兴趣或者有需要的朋友在微信公众号后台回复:app计算器 来获得百度云下载链接,在install_pkg文件夹中包含上图所示的三类文件:
-
free_install 文件夹中包含exe文件,如果您的MATLAB版本或者Runtime版本是2020b的话,可以直接运行,免安装;
-
appcalculator.mlappinstall文件可以直接双击进行安装到MATLAB的My APP栏目中;
-
appcalculator_installer.exe文件双击进行安装,这个文件适合没有安装MATLAB的机器,当然,需要保证连接了互联网,一开始会下载MATLAB的Runtime并安装,需要耐心等待…
下边是动图演示:
简易型计算器
数字按键和二元运算符
其他按键和一元运算符
科学型计算器
基本按键和()运算
一元运算符
三角与反三角
其它
存在的不足:
不同于上次(具体参见基于MATLAB程序设计的计算器(中))的计算器界面包含两个独立的画布,这次将简易型和科学型集成到一个画布中,总体上相对简单一些,只不过这样做加载时较慢,主要原因可能有两点:
- uifigure自身的加载慢缘故;
- 在简易型和科学型两种计算器之间切换时,加载科学型计算器需要重新构建界面,这个地方其实是可以优化的。
最后,欢迎对App Designer构建计算器感兴趣的朋友在后台留言交流,至于源代码,我想等到关注量增到1000时再公布,初衷是记录的东西方便以后自己查阅,如果能帮助到有需要的朋友们或者相互交流,那就是达到了很好的双赢。
今天的分享就到此为止,感谢朋友们阅读到这里,祝大家工作愉快!
欢迎关注微信公众号:清贫王子