本文最后更新于 2021年9月1日。
最近喜欢研究图形界面,记录一下过程和学习方法,供参考,兴许可以给喜欢GUI但一直难于下手的朋友们一点启发。
GUI,Graphical User Interface,即图形用户界面。
我并非程序员,但一直对编程充满兴趣,尤其想能自己开发一些图形界面程序供大家使用。搜索一下感觉很难,代码量大,一个连命令行形式的程序都写不明白,自然就想放弃了。不过学习愿望还在。
一个月前换了工作,用代码的频率高了很多,也接触一部分GUI界面,这时学习GUI的想法又强烈了。虽然GUI效率低,但它能让自己编的脚本易用,不必懂代码就能用。
工作要用到计算斜率画曲线,每次手动写在纸上再去计算斜率既耗时又费力,于是打算写一个GUI程序。
为了避免从入门到放弃的惨剧,我这次定了个计划:
先用脚本形式实现这个功能,接着找几个简单的入门实例学习一下,然后将命令脚本转化成GUI程序。
从目前的结果看这个计划可以落地。
一、脚本形式实现
纯文本的脚本实现很简单,就是输入几个坐标点的纵坐标值,分别计算一下斜率再输出即可。
代码如下:
运行后弹出图形:
并输出计算结果:
第一步已经完成,已经实现我们想要的功能。按照计划进行下一步。
二、实例教程学习
先找了一个教程文档(Tutorial MATLAB GUI),跟着把matlab的GUI基本控件学了一遍。
先做一个简单的加法器:
我做出来效果这样:
再学习单选,输入输出控件:
我的效果:
学习画坐标图:
我的效果:
GUI这些控件很简单,都是可视化操作,难点在于根据数据处理逻辑进行数据获取、处理和展示。基本知识掌握了,开始将简单的脚本程序转化为GUI程序。
三、脚本转化成GUI程序
将输入用edit控件获取输入值,用text控件展示计算结果,用axis控件展示图形,用button控件点击执行动作。
完成后的结果:
到目前为止功能和界面都已经完成了,可以正常使用。
但是每次运行源文件需要打开matlab,有时会跟正在运行的进程产生时间上的冲突。所以我打算把它打包成exe文件以便随时运行。
打包过程如下,大概一两分钟后(因电脑配置不同有差异)在原文件同文件夹下会生成同名exe文件。双击就可以运行了。
状态栏中左边的matlab图标是运行的matlab,右边的matlab图标是生成应用运行的图标。
现在虽然可以双击直接运行,但是还是有限制,就是电脑中必须已经安装了同版本的matlab的运行环境才可以移植性差。所以我想用python做一个,一方面python的GUI可以优化的东西多,另一方面可移植性好。Python版本的在下一篇文章中介绍。
另外可以在weiyounmimi公众号回复“Tutorial MATLAB GUI”获取GUI入门教程文档。