前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab—图形界面(GUI)程序设计

matlab—图形界面(GUI)程序设计

作者头像
mathor
发布2018-07-24 14:56:04
4.8K0
发布2018-07-24 14:56:04
举报
文章被收录于专栏:mathor

十一、图形界面(GUI)程序设计

matlab也能做应用程序,类似于c++的mfc,这点我也是才知道,大吃一惊,原来现在可视化编程应用如此广泛,连matlab都可以,接下来我就会讲解如何通过matlab进行程序设计

首先,我们在matlab的command window,也就是命令行窗口,输入guide->回车->点击“确定”

图11-1 guide

打开以后是如下图所示的界面,左边有两列”控件“,为了更直观的展示这些控件,我们点击”文件“->”预设”,我们把”在组建选项板中显示名称“前面的勾打上

图11-2 预设

图11-3 预设完成

这样,控件的名称就显示出来了

接下来我们随便拉几个控件到界面中,然后点击上面类似于”播放“的一个绿色按钮

图11-4 运行

这个时候我们的应用程序就出来了

图11-5 第一个应用程序

现在我们知道了如何运行应用程序以后,我们要先优化我们的界面,首先界面的一些控件排列并不是很整齐,我们可以在把这三个控件选择了以后,点击“工具”->”对齐对象”,这时候就会弹出一个选择器,让你选择以什么样的方式进行对齐

图11-6 对齐对象

对齐控件了以后,我们再考虑一个问题,按钮都有它各自的作用,所以我们要让他展现不同的名字,以直观的让人知道这个按钮是干什么的,所以我们需要修改控件的样式,如何操作?双击控件即可,比方说我要把第一个按钮的名称改为,按钮1,我只需要双击控件,找到它对应的属性进行修改

图11-7 修改控件属性

这里我们还要多看一个属性,叫tag,如何辨别每个控件?通过控件的名字?不对,其实每个控件都有自己特殊的“辨识码”,也可以叫id,这个id是可以改的,就在“tag”属性这一行里,知道id有什么用?后面如果我们需要某个控件实现某个功能,我们需要去指定控件,通过什么来指定?就通过它的tag的id

图11-8 tag

上面讲的都是界面的一些知识,下面我们要讲的就是关于GUI程序背后代码撰写的部分,一个应用程序,除了有界面以外,还需要背后的代码才能实现交互

图11-9 GUI代码部分

现在我们找到OpeningFcn,在他的下面加上几行代码,执行一下看看

图11-10 Openingfcn

我一运行,立刻就有图出来了,这个原理其实是因为,我再OpeningFcn当中写的代码,他会在应用程序被打开时立刻执行,而我这个代码的作用就是在axes中画一个图像

接下来我们想想怎么给这个按钮1添加一些消息响应的代码,当我点击这个按钮1的时候就执行一些东西,我们不妨把刚才的代码剪切下来,复制到pushbutton1_Callback这个函数里面

图11-11 pushbutton1_Callback

接下来运行程序,我们预期的效果是,一开始程序打开什么都没有,当我点击按钮1的时候,突然有图出来了

图11-12 打开程序

确实一开始什么都没有,下面我们摁一下按钮1

图11-13 执行按钮1

接下来我们做个试验,如果我有两个axes,当我点击按钮1的时候,这个图会画在哪个图上呢?

图11-14 两个axes

那么问题来了,应该怎么做?下面给出解决办法

图11-15 选择确定的axes

其实就加了个代码,将surf要画的图的”tag“确定下来即可

下面我们做个小例子,这个例子的功能是,当我滑动滑动条的时候,静态文本显示的值会随着我的滑动而改变

首先是界面设计,我们先把这两个控件拖出来,调整位置和大小

图11-16 界面设计

然后我们需要修改滑动条的一些参数,最小值和最大值,因为它默认的值并不好

图11-17 滑动条参数

然后我们稍微把静态文本的字体调大一点,顺便记住他的tag,后面要用到的

图11-18 静态文本参数

界面设计就到这了,接下来我们需要写消息相应代码,代码的工作主要是,当我滑动滑动条的时候,有一个参数将我当前滑动条的值保存下来,然后传给静态文本,主要思路就是这样,所以我们的代码应该是在滑动条的函数里面写

这里我们可以去代码里找与slide关键词有关的函数,也可以直接鼠标右键滑动条->查看回调->callback,写上代码

图11-19 slider代码

然后运行下程序看看

图11-20 运行程序

讲到这里,基本上GUI入门算是快要结束了,我们再说最后一个问题,就是关于如何将我做出来的GUI程序,变成一个exe应用程序供其他计算机使用,这个其实才是主要问题,因为我们能使用是因为我们有matlab,能自动帮我们编译运行,但是别人要是想直接使用,我们就必须要做成exe文件,其实步骤也很简单,首先我们在命令行窗口输入“deploytool”,然后回车

图11-21 deploytool

选择第一个,之后他会弹出一个界面,让你设定一些东西,你也可以不设定,直接把我们的文件导入进来

图11-22 导入文件1

图11-23 导入文件2

图11-24 package

图11-25 打包

稍等一会儿,等待打包完成

图11-26 testing

图11-27 exe文件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档