一文学会MATLAB GUI设计,多个实例进行超详细的讲解,有代码逻辑和注释

您所在的位置:网站首页 matlab的gui界面背景图改变 一文学会MATLAB GUI设计,多个实例进行超详细的讲解,有代码逻辑和注释

一文学会MATLAB GUI设计,多个实例进行超详细的讲解,有代码逻辑和注释

2023-07-26 08:09| 来源: 网络整理| 查看: 265

基于MATLAB的可视化GUI界面设计 GUI界面的打开: 1:打开MATLAB 2:在命令行输入

>>guide

在这里插入图片描述 3:选择你所需要创建的GUI,一般为默认 4:通过添加你所需要实现的功能 在这里插入图片描述 5:双击2中的功能块,修改该功能(如按钮,编辑框等)的属性,如String,Tag,Value,ForegroudColor,BackgroudColor等、编辑完成,记得回车(Enter),否则可能会导致修改不成功,Tag值唯一标识,可通过Tag值访问句柄值。 在这里插入图片描述 6:点击保存后会生成一个.Fig文件,一个.m文件。.Fig文件用于对GUI界面的修改,.m文件用于功能的实现以及功能块之间的交互和相互调用等。 7:若是不小心将编辑的.Fig文件关闭了,直接打开运行会报错 正确的做法:在命令行输入:guide后,在弹出的对话框中选择“打开现有的GUI”,选择你所需要的.Fig即可 在这里插入图片描述

.m文件中,函数交互的详细逻辑: .m文件创建的对象和GUIDE创建的对象之间的相互访问的问题: 自定义: 在这里插入图片描述

-----------------------------------美腻的分割线----------------------------------------------------

**实例1:**实现sinx cosx tanx 的画图功能和Clear功能 一:GUI的创建和属性的设置 在这里插入图片描述 Axes对象的Tag为: 在这里插入图片描述

sin按钮对象的String 和 Tag值为: 在这里插入图片描述

cos按钮对象的String和Tag值为: 在这里插入图片描述

tan按钮对象的String和Tag值为: 在这里插入图片描述

Clear的String和Tag值为: 在这里插入图片描述

字体颜色和背景颜色可以找到ForegroudColor,BackgroudColor设置,其他属性同上…

二:函数的写入 OpeingFcn函数对应OutouputFcn ,全局变量可在OpeingFcn函数中定义

注意:主函数不要动!否则可能会导致GUI打开失败,无法进行函数写入等处理。 在这里插入图片描述 1:由于后面可能会一直用到x(sinx cosx tanx),所以先在OpengFcn中定义x: 在这里插入图片描述 最后的guidata…是用来更新handles结构体的

2:写入Clear的回调函数(右键Clear按钮,选择View Callbacks(或者:查看回调) ,点击Callback转到该按钮的功能函数编写区) 在这里插入图片描述 用try保留字 在这里插入图片描述 :allchild为所有的子对象,plotarea为之前设置的Axes的Tag值。 该句的作用:保证在初始化界面中,没有图形的时候,执行Clear操作不会显示错误

3:对sinx进行功能写入 在这里插入图片描述 通过handles.x可以访问自变量,handles.Tag可以访问Axes 运行可以得到: 在这里插入图片描述 cosx tanx等,同理: 在这里插入图片描述 如果进行sinx的绘图之后,再点击cosx等的绘图会替代上一次的绘图。若需要将每一次绘的图进行同时显示,可以在Axes的属性中,找到NextPlot,将属性改为add。 在这里插入图片描述

对tanx进行范围约束; 在这里插入图片描述 运行可得: 在这里插入图片描述 可以将sinx cosx tanx进行颜色的修改,如:

plot(handles.plotarea,x,y,’r’)

在这里插入图片描述 -----------------------------------美腻的分割线---------------------------------------------------- 实例2: 实现点击button1中的按钮,随机生成一个数据,通过自定义的按钮使得其在Edit中显现。 handles.rand=rand %获取rand随机数的句柄值,将该句柄值赋值到handles的某个字段中 %可通过handles.rand中的字段访问GUI数据。在这里插入图片描述 修改: 在这里插入图片描述 在这里插入图片描述 ↑:将生成的随机数通过点击push按键,num2str型到Edit编辑框中。 在这里插入图片描述

-----------------------------------美腻的分割线---------------------------------------------------- 打开一个GUI已有的按钮Push Button (Tag=pushbutton1),编写Callback函数,与自定义的按键联系起来。 在这里插入图片描述

(GUI中的按键)-在该回调函数中,为自定义的按钮写一个“String”值。可以通过handles.push(为自定义按钮的Tag)访问,达到一致访问的目的(通过handles结构体访问)。 在这里插入图片描述 若想对自定义的按钮加入回调函数,可以通过Callback属性设置 (基于其余的Callback函数属性的设置) 例: 在这里插入图片描述 都是Tag_Callback,后面三个输入参数为:hObject ,eventdata,handles hObject 为当前的对象,比如说在OpengFcn中,hObject 为当前的Figure,在该按钮的Callback函数中,hObject为当前的按钮的句柄值。 eventdata为保留的属性,一般为空。

为保持回调函数的一致性 在这里插入图片描述

然后自己写出回调函数 在这里插入图片描述 在该回调函数中,设置刚才GUI中拖拉的String,即: 在这里插入图片描述 会报错 在这里插入图片描述 解决方法:去了另外两个参数,只有handles是所需回调参数 在这里插入图片描述

单击1,2变Run,单击2,3变Run 在这里插入图片描述 总结: 在这里插入图片描述 =OVER=========



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3