Matlab gui教程0x8–自定义GUI背景图案和按钮图标

3,187次阅读
没有评论

美化您的GUI外观,会使用您的GUI程序更加吸引大家的视线!特别是对商业程序,终端用户可能会很注重程序的界面布局(当然功能必须首先达标),爱美之心人皆有之,这个不需要我解释吧!

在本节教程我将想大家显示,如何为您的GUI添加一个漂亮背景,以及为一些按钮(不是所有的控件都可以)添加图标!

其实原理很简单,大家不妨先了解下:

1.背景,其实就是将图片显示在axes,而axes覆盖整个GUI 2.图标,其实将控件的Cdata属性设置为一个真彩色图形数据

先预览我们成果吧,如果您感兴趣可以继续,不感兴趣可以到其它帖子溜达下哦。

Matlab

一、为GUI穿上漂亮的外衣

本部分我们将学习如何为GUI添加一个您希望的背景图片。

Matlab

1、首先请下载我们为您准备好的程序 Matlab background-image.zip (26.26 KB, 下载次数: 1567) ,解压到MATLAB工作目录,然后在GUIDE中打开customImage.fig,布局如下所示

Matlab

什么?GUIDE在哪里,偶没有用过GUI!那请先看看这个吧http://www.matlabsky.com/thread-5217-1-1.html

2、细心的网友会发现,背景图像和GUI的大小不一致呀。两者大小不一致,会导致最终的GUI相当难看,所有首先我确保两者的尺寸合适且匹配。

在本实例中我们将调整GUI的尺寸来适应图片的大小,背景是448×336图片,单位为像素。

2.1 双击GUI的figure(窗体),在跳出的属性查看器中将Units设置为pixels(像素)

Matlab

2.2 将Position属性的Width和Height分别设置为448和336

Matlab

3、接下来添加一个坐标系,将Tag设置为axes1

由于Matlab中没法直接添加背景,而需要借助坐标系这个容器,再将背景显示在坐标系上,其实说白了这就是以假乱真。注意axes必须覆盖整个figure窗体,否则就露馅了!

Matlab

4、点击GUIDE工具栏的 Matlab 按钮,编辑对应的M文件。在customImage_OpeningFcn下面添加如下代码

  1. % **_OpeningFcn函数是GUI在打开时的执行的命令,此时GUI界面还没有显示出来
  2. % 将背景图像载入Matlab
  3. % 如果图像不在当前目录,必须使用完整路径
  4. backgroundImage = importdata(‘sunset-beach.jpg’);
  5. % 选择坐标系
  6. axes(handles.axes1);
  7. % 将图片添加到坐标系中,于是就成了背景了
  8. image(backgroundImage);
  9. % 将坐标系的坐标轴标签去掉
  10. axis off

复制代码

Matlab

二、为按钮添加可爱的图标

Matlab

大家都注意到了,大部分软件的工具栏都是图标的,而不是单纯的文字,因为图标形象直观。

需要注意的是GUI中只有pushbutton、togglebutton以及工具栏按钮才可以添加图标,其它控件都是无效的。

1、在上面得到的GUI中,我们继续在figure上添加一个pushbutton,设置Tag为pushbutton1

2、修改pushbutton1的Units属性为pixels

Matlab

将position属性的width和height分别设置为65和65

Matlab

3、打开对应的M文件,定位到customImage_OpeningFcn,在下面添加

  1. %import the smiley image into matlab
  2. %if image is not in the same directory as the GUI files, you must use the
  3. %full path name of the image file
  4. smiley = importdata(‘smiley.jpg’);
  5. %set the smiley image as the button background
  6. set(handles.pushbutton1,’CDATA’,smiley);

复制代码

4、运行整个GUI程序,效果如下图所示

Matlab

admin
版权声明:本站原创文章,由admin2016-11-09发表,共计1584字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)