Matlab系列之GUI设计实例1

2021-07-23 13:35:26 浏览数 (1)

介绍

上一篇对GUI的设计有了简单的了解,也对控件有了了解,但是控件的搭建只是类似于绘制了一个架构,但是具体的架构内容还没有进行设计,所以还需要编写M文件来实现控件之间的交互。

其他过于理论的东西就不多述了,直接举个简单的实例,对整体的GUI设计流程便能够有个清晰的认识了。

实例1

首先按上篇的介绍,新建个GUI的设计,然后在界面中添加一个坐标轴和两个按钮,并使用菜单栏中的“对齐对象”对齐控件的边缘,摆好后的效果:

对齐对象的工具使用方法很简单,先选中需要对齐的控件,然后按图例中的样子,实现控件的摆放,分布选项需要勾选设置间距的框,然后设定具体的分布位置等,还不太懂的话,自行操作下,就知道意思了。

接着开始设计内容,更改按钮的“tag”和“string”属性

第二个按钮分别设置为“rotate”和“旋转”,都设置好后的样子

点保存,对应的EX1.m文件会自动创建控件的函数,即回调函数

开始准备代码的编辑,找到XX_OpeningFcn的函数,在最后一行加上

代码语言:javascript复制
set(handles.rotate,'Enable','off');

实现功能:在GUI刚运行时,关闭旋转按钮的功能,使用句柄的形式操作,rotate就是旋转按钮的tag值,也是旋转按钮的唯一标识。

然后编写绘图函数下的代码,绘制一只“蝴蝶”……

代码语言:javascript复制
axes(handles.axes1);%链接到绘图坐标轴上
theta=0:0.01:2*pi;
rho=sin(2*theta).*cos(1.5*theta);
polar(theta,rho,'.r');
AZ = 90;
EL = 90;
view(AZ,EL);
set(handles.rotate,'Enable','on');

其中,【set(handles.rotate,'Enable','on');】是为了使能旋转按钮

绘图函数设计好后,接着用旋转按钮设计一个旋转的功能函数

代码语言:javascript复制
axes(handles.axes1);%链接到同一个绘图坐标轴上
EL = 90;
for AZ=90:1:450
    view(AZ,EL);
    drawnow;
end

在两个回调函数中,链接到了同一个axes1坐标轴,从而实现一个绘图,一个对当前图形旋转的功能。

都设计好之后,点保存,然后便可以运行了,可以在运行时修改代码进行调试;

最后再加个菜单来表明下信息……

都设计好后,就可以运行程序看效果了!!!

1、Run

2、绘图

3、旋转

这是个动态旋转的功能,为了省事,就随便截了个运行时的图。

4、Help

结束

本篇的简单实例就到此结束了,后面会再搞一两个复杂些的实例,进行进阶,感觉会更有意思些~

本篇的实例打包到了盘里面,需要的朋友可以在下方自行获取。。。

0 人点赞