• 描述:登录,双界面,加背景,美化按钮,打开文件

一、首先制作一个简单的登陆界面

1.在命令窗口输入guide后敲击回车键:
2.点击确定后,可以看到左边的两列图标,这里选择一个静态文本作为标题,和三个按钮:
双击它们可以进行编辑(这里要把Tag改成自己能明白的名称,否则回调函数的名字会比较乱):
再加入两个可编辑文本框以及一个退出按钮:

3.点击上方绿色的运行按钮后选择是:

**
这时候我们就可以开始写它们的函数了:
**
4.关掉运行出来的界面,首先可以在程序界面(编辑器)中找到这个函数:
function xxx(这是你的工程名)_OpeningFcn(hObject, eventdata, handles, varargin)
在handles.output = hObject;后面加入下面的函数可以设置一下背景图片:

代码片.

%设置背景
ha=axes('units','normalized','pos',[0 0 1 1]);
uistack(ha,'bottom');    %置于底部用buttom
ii=imread('蝴蝶.jpg');   %在当前文件夹下的图片名称
image(ii);
colormap gray
set(ha,'handlevisibility','off','visible','off');

运行结果:

如果感觉界面不好看要进行更改,可以回到刚才的GUI编辑,不过编辑完之后最好运行一下,否则只在程序界面运行的话不会保存你对GUI图形界面的更改。

5.下面编写一下退出按钮的回调函数(如果觉得不好找可以在GUI图形编辑界面中选择相应的模块,鼠标右键,点击查看回调–>callback):

加入一个退出警告框:
代码片.

button=questdlg('确定退出吗?','退出程序','Yes','No','Yes');%内容,标题,选项(2个),默认选项
if strcmp(button,'Yes')  disp('关闭GUI界面');uiresume(handles.figure1);close
elsequit cancel;
end

6.编写账号密码的回调函数:
如上步骤,选择作为账号密码输入的可编辑文本框,打开回调函数,输入以下程序:

打开这两个回调函数callback

分别输入:
代码片.

global nName;
global cName;
nName=str2double(get(hObject,'String'));
cName=get(hObject,'String');
if(isnan(nName) || length(cName)~=5)set(hObject,'String','');errordlg('账号必须为5位数字!','错误提醒','modal');return;
end
global nMima;
global cMima;
nMima=str2double(get(hObject,'String'));
cMima=get(hObject,'String');
if(isnan(nMima)||length(cMima)<4||length(cMima)>10)set(hObject,'String','');errordlg('密码必须是4--10位数字','错误提醒','modal');return;
end

7.编写进入按钮的回调函数:
在进入按钮的callback中输入如下函数
代码片.

global nName;
global nMima;
if(nName == 12345 && nMima == 000000)untitled2;  %%%进入名称为未命名2的GUIset(handles.yonghu,'String','');set(handles.mima,'String','');nName=0;nMima=0;   %用户名密码清零
elseerrordlg('用户名或密码错误','错误提醒','modal');set(handles.yonghu,'String','');set(handles.mima,'String','');return;
end
  • 简单的登陆界面就这样了。

二、登录进入的界面
如上述步骤,再新建一个GUI,注意此时的GUI名称一定要与之前进入按钮的回调函数里面进入的函数一致(untitled2)。
设置一个按钮(加背景修饰),功能为打开一个工程所在文件夹下的word文档。设置一个菜单,功能为打开一个HTML文件:

1.按钮:
函数:
代码片.

winopen word.docx   %文件名用英文

2.为界面加背景同上操作。如需对按钮加背景修饰,则在刚才背景函数之后再加上如下函数:

代码片.

%设置按钮图片
A=imread('小屋xiao.jpg');   %读取图片
set(handles.dakai,'CData',A);  %将按钮的背景图片设置成A,美化按钮

3.设置菜单:找到菜单编辑器,点进去之后依自己需要设置即可(设置好后注意点一下这里面的运行)


运行:
4.在菜单中打开一个HTML文件:

找到它的回调函数,加入winopen 函数即可


5.最后可以在GUI窗口设置一下控件按比例缩放:
依次点击 工具(T)–>GUI选项,把第一个调整大小的方式改成“成比例”即可

然后点运行。

  • 第二层界面就是这样的了

运行结果:


总结

好好学习天天向上!

留下几个很有用的网址以便回来再次借鉴:
[1]:http://blog.sciencenet.cn/blog-200199-872422.html
[2]: https://blog.csdn.net/u011939755/article/details/54705664
[3]: https://blog.csdn.net/cuicui666666/article/details/104032531
[4]: https://blog.csdn.net/qq_40316114/article/details/83281069
[5]:https://blog.csdn.net/qq_42478775/article/details/104780484
[6]: https://blog.csdn.net/shitao99/article/details/85955726
[8]:http://blog.sina.com.cn/s/blog_48eb325c0102w04e.html
[7]:https://blog.csdn.net/weixin_43267645/article/details/106369493

MATLAB学习笔记/包含登陆界面的GUI制作与美化相关推荐

  1. Unity3D学习笔记(2)——用GUI制作井字棋游戏

    本来拿gui来做游戏蛮怪的,但这却是一个熟悉gui的不错的途径.今天我就学着使用GUI.Button做了一个十分简单的井字棋游戏.上个成品图: 首先创建一个C#脚本文件,去掉Update方法,因为这里 ...

  2. Matlab学习笔记(3)—GUI程序设计与图像处理基本操作

    Matlab学习笔记(3)-GUI程序设计与图像处理基本操作 一.GUI程序设计 如果想要开始使用Matlab进行GUI编程,首先需要进入Matlab的GUI界面对GUI有一个基本的认识. 1.gui ...

  3. B站台湾大学郭彦甫|MATLAB 学习笔记|07 Graphical user interface(GUI)设计

    MATLAB学习笔记(07 Graphical user interface(GUI)设计) 如果想获得更好浏览体验的朋友可以转到下面链接 07 (MATLAB R2021a版本提示GUIDE将在未来 ...

  4. MATLAB学习笔记(一)

    MATLAB 一.安装的目录结构 二.常用的菜单及工具 布局 设置路径 设置工作路径 三.常用命令 四. 基础知识 数据类型 复数类型 `inf 和 NaN` 字符与字符串 函数句柄 结构体 结构体的 ...

  5. B站台湾大学郭彦甫|MATLAB 学习笔记|06 高阶绘图 Advanced Plot

    MATLAB学习笔记(06 高阶绘图 Advanced Plot) 如果想获得更好浏览体验的朋友可以转到下面链接 06 1. 对数图 (Logarithm Plots) x = logspace(-1 ...

  6. MATLAB学习笔记0:学习须知

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  7. MATLAB学习笔记(二)

    MATLAB学习笔记(二) 一.矩阵运算 矩阵分析 向量和矩阵的范数运算 矩阵的秩 矩阵的化零矩阵 矩阵的化简rref()函数 线性方程组 超定线性方程组求解 矩阵分解 1.对称正定矩阵的Choles ...

  8. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  9. MATLAB学习笔记2:MATLAB基础知识(下)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

最新文章

  1. 使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)
  2. 使用Nginx搭建前端静态服务器+文件服务器
  3. ups容量计算和配置方法_干货 | ups的空开、电缆及电池的配置计算
  4. linux下的I2C驱动记录(RK)
  5. Spring Boot——@ConfigurationProperties与@Value的区别
  6. vmware给linux增加空间,vmware增加linux硬盘空间
  7. 开源机器人操作系统—ros_九美元计算机,机器人操作系统和更多开源新闻
  8. 红橙Darren视频笔记 贝塞尔曲线实现消息拖拽粘性效果 画笔练习
  9. android studio for android learning (七) Android Log类全解
  10. step7-micro/win 在win10系统下安装步骤
  11. 1w存银行一年多少利息_在银行存定期一万块一年有多少利息?
  12. 杀不死的人狼——我读《人月神话》(三)
  13. python中元组的特点_Python中的元组介绍
  14. 嵌入式软件面试题整理
  15. 装VMware后在主机找不到VMnet1和VMnet8问题(巨详细已解决)
  16. 取消域服务器是定期修改密码,更改域服务器用户密码
  17. EEG-MI 基于EEG信号的运动想象分类实验
  18. erdas查看灰度直方图_ERDAS图像的基本操作
  19. Java 17新特性,快到起飞?惊呆了!
  20. error: invalid application of 'sizeof' to an incomplete type 'JNINativeMethod []'

热门文章

  1. Freeswitch之RTP地址自动校正
  2. maven 忽luo失败测试用例命令
  3. 什么是用户态和内核态?
  4. 【JavaScript 教程】ES6 中的 Promise对象 详解
  5. 阿里P8大能倾力编撰的“Java 进阶面试手册”,助力跳槽外包毕业生秋招收获大厂offer
  6. MySQL的BlackHole引擎
  7. html空格转义字符 %3e,转义字符串
  8. POJ2182 Lost Cows(树状数组、二分、倍增)
  9. 使用Python的docxTemplate渲染word文件
  10. 语法精髓,10来节课补完初中,高中英语所有语法,彻底颠覆传统英语教育