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

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

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

1.背景,其实就是将图片显示在axes,而axes覆盖整个GUI

2.图标,其实将控件的Cdata属性设置为一个真彩色图形数据

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

一、为GUI穿上漂亮的外衣

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

1、首先请下载我们为您准备好的程序

background-image.zip (26.26 KB, 下载次数: 1567),解压到MATLAB工作目录,然后在GUIDE中打开customImage.fig,布局如下所示

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

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

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

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

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

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

4、点击GUIDE工具栏的

按钮,编辑对应的M文件。在customImage_OpeningFcn下面添加如下代码

% **_OpeningFcn函数是GUI在打开时的执行的命令,此时GUI界面还没有显示出来

% 将背景图像载入Matlab

% 如果图像不在当前目录,必须使用完整路径

backgroundImage = importdata(‘sunset-beach.jpg’);

% 选择坐标系

axes(handles.axes1);

% 将图片添加到坐标系中,于是就成了背景了

image(backgroundImage);

% 将坐标系的坐标轴标签去掉

axis off

复制代码

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

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

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

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

2、修改pushbutton1的Units属性为pixels

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

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

%import the smiley image into matlab

%if image is not in the same directory as the GUI files, you must use the

%full path name of the image file

smiley = importdata(‘smiley.jpg’);

%set the smiley image as the button background

set(handles.pushbutton1,’CDATA’,smiley);

复制代码

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

matlab gui 按钮背景,Matlab gui教程0x8–自定义GUI背景图案和按钮图标相关推荐

  1. 【如何制作电子书】云展网教程 | 如何自定义电子书背景图片

    一.可以不用模板中的背景图片,通过上传您的图片自定义背景图片. 1.通过头像进入个人中心,选择我的文件夹 2.点击编辑杂志进入编辑页面. 3.在设置栏目选择背景图片.如图 在左侧编辑杂志设置栏目下的背 ...

  2. MATLAB GUI 停止运行程序,Matlab gui教程0x4-GUI程序打开、运行和发布

    1.想在GUIDE中打开一个写好的GUI程序,可有两种方法 1.1 如上面所说的,在打开GUIDE界面时,我们可以选择"Open Existing GUI",然后选中你需要打开的G ...

  3. MATLAB多方法车牌识别系统(bp+模板+GUI)

    一.课题介绍 资源链接https://gitee.com/chending006/cpsbhttps://gitee.com/chending006/cpsb 随着汽车数量的增加,城市交通状况日益受到 ...

  4. matlab转换为exe文件,matlab GUI编程及转换为独立运行的exe文件

    入门视频:https://www.bilibili.com/video/av20999810?from=search&seid=13641596054754955985 1.打开matlab ...

  5. 基于MATLAB的多方法车牌识别识别系统【GUI,多方法,对比,语音播报,出入库,剩余车位】...

    一.课题介绍 该课题为基于MATLAB的多方法车牌识别识别系统,带有丰富的人机交互GUI界面.目前毕业设计选题中,传统的中规中矩的车牌识别不易得到高分,甚至过不了. 必须要在此基础上有所创新方得可以避 ...

  6. MATLAB设计语音信号的处理与滤波系统GUI界面

    MATLAB设计语音信号的处理与滤波系统GUI界面 目录 MATLAB设计语音信号的处理与滤波系统GUI界面 前言 一.GUI界面设计 二.部分代码 1.系统录音 2.语音播放 3.语音滤波 4.语音 ...

  7. [点击快照]基于MATLAB的多方法车牌识别识别系统【GUI,多方法,论文,对比,语音播报,出入库,剩余车位】

    一.课题介绍*** 随着汽车数量的增加,城市交通状况日益受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点.智能交通系统通过车辆检测装置对过往的车辆实施检测,提取有关交通数据,达到监控.管 ...

  8. 用matlab做音乐仿真,Matlab课程设计报告--MATLAB GUI的音乐键盘仿真

    Matlab课程设计报告--MATLAB GUI的音乐键盘仿真 1 MATLAB MATLAB 实践实践 课程设计课程设计 目目 录录 1.1.设计目的设计目的3 3 2.2.题目分析题目分析3 3 ...

  9. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

最新文章

  1. Spring中的异步任务
  2. Java Stub 研究学习(2)
  3. Java还能热多久?学Java有前途吗?
  4. 超过一半的受访者表示愿意升级到Windows 11
  5. golang 导入自定义包_goLang引入自定义包的方法
  6. opencv 图像分割-分水岭算法
  7. explode php 正则,php用preg_replace和explode将li列表分割成纯文本数组
  8. 图像处理里面的的尺度什么?
  9. 元宇宙引擎脑语言2500令v0.5.6
  10. Android签名证书生成
  11. steam怎么看邮箱绑定的账号_【一问一答】账号篇丨账号密码忘记了怎么办?不方,看这里!...
  12. 【DeepLearning】深入理解dropout正则化
  13. Java设计模式及应用场景之《抽象工厂模式》
  14. Matplotlib绘制动图
  15. Android中将像素转换为sp/dp
  16. Markdown排版微信公众号文章
  17. Python--模块和包
  18. 学shell和python哪个难_shell与python的优劣对比到底用哪个
  19. 财经365内参:万亿赛道迎五部门发利好
  20. 自定义边框的制作与换色(canvas与css3)

热门文章

  1. echarts dataZoom y轴滚动条
  2. kali linux 升级命令_linux系统怎么更新?linux更新系统的方法
  3. 服务器 400 错误
  4. Python正则表达式-欧阳桫-专题视频课程
  5. 辞旧迎新,社科院与杜兰大学金融管理硕士项目引领你在金融的世界遇到更好的自己
  6. Word, PPT和Excel的常用技巧(持续更新)
  7. 2021年中国露营行业市场现状分析:行业发展迅猛[图]
  8. linux修改分辨率后电脑黑屏,解决ubuntu开机启动黑屏以及分辨率问题
  9. 如何在Polygon上创建ERC-20通证
  10. 服务器和桌面区别,有问有答:桌面级处理器和服务器处理器的区别是什么?