初衷

由于课程要求,学习了下创建MATLAB交互界面,最初学习的途径就是在CSDN上搜索;然而参考了几篇博客文章之后,操作时还是一头雾水(拼死挣扎不愿承认自己能力太差:)),后来在同学的帮助下,成功完成了GUI界面创建,所以今天写下这篇文章来记录学习成果。

除了代码与文字,我还会通过截图来详细说明操作流程,旨在帮助像我当初一样一头雾水的同学快速完成GUI界面创建。

正经操作

以下环境为MATLAB R2017a,我们以制作进行两数相加计算的计算器为例:

  1. 在命令行窗口输入:guide ,这步是打开绘制界面的操作:

  1. 点击 “新建GUI ” ,接着四个选项可供选择,分别为:空白模板、带控件对象的GUI模板、带坐标轴与菜单的GUI模板、带模式问题对话框的GUI模板,根据自己需求选择相符的选项。
    一般无特殊需求,选择第一个选项 (Blank GUI,空白模板) 即可,点击“ 确定 ”

  1. 出现GUI设计窗口,图中圈内区域为控件工具栏,常用控件有:按钮、静态文本框、动态文本框(好吧>.<,我承认我说这三个常用其实是因为我目前只用过这三项),点击所需控件按钮在GUI图形对象设计区理想位置拖出对应控件;接下来详细说明设置
    按钮、静态文本框、动态文本框 三者的步骤;

3.1按钮点击“按钮”选项,接着便会出现”十“字形光标,

在界面上拖出大小、位置合适的按钮键

接着双击拖出来的按钮,会出现属性设置框,在属性设置框里可以修改这个按钮键盘的各项属性,如:字体大小、颜色、位置等。

除去这些细枝末节外,我们主要修改的是属性“string”,它对应的就是我们设置的按钮上面显示的名称,

在这里我们将其改为“运行”

按下回车后即可在设计界面上看到我们的按钮键已经更换了名称:

3.2动态文本框
动态文本框,常用于作为输入输出框,同上述3.1中的操作,点击动态文本框按钮,在设计界面上拖动出框

接着双击拖出来的按钮,在属性设置框,主要修改两个属性,除了上述3.1中的"string"属性外,(这里"string"属性可以修改为输入提示,或者直接删除即可,毕竟我们是要用来作为输入框的)
我们还需要修改"Tag"属性,(这一步tag的修改主要是为了后续改程序的时候更加明了,不改这个属性也是没问题的)

将"string"属性对应项文字删除,将"Tag"属性对应项修改为input_1,回车后可以看到设计界面上我们的输入框中文字已经没有了。

再重复两次上述操作,形成三个并列的文本框,并修改对应’Tag’属性分别为input_1、input_2、output (因为我们要制作加法计算器,需要两个输入框,一个输出框),形成如下界面:

3.3静态文本框
静态文本框,常用于添加界面上辅助性质内容: 一如上述3.1、3.2中步骤,**点击静态文本框按钮,在界面上拖动出框,

接着修改它的“string"属性(我们目的是制作加法计算器,故在三个动态文本框中间添加一个‘+’和一个’=’)

适当调整位置和大小,产生如下效果:

到这里,我们的界面设置已经结束了,接着就要把程序给融进界面。
4. 点击运行按钮 生成代码;

产生如下代码:


具体代码为:

//
function varargout = untitled(varargin)gui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...'gui_Singleton',  gui_Singleton, ...'gui_OpeningFcn',
@untitled_OpeningFcn, ...'gui_OutputFcn',  @untitled_OutputFcn, ...'gui_LayoutFcn',  [] , ...'gui_Callback',   []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});endfunction untitled_OpeningFcn(hObject,
eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout =
untitled_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;function input_1_Callback(hObject,
eventdata, handles)function input_1_CreateFcn(hObject,
eventdata, handles)if ispc &&
isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction input_2_Callback(hObject,
eventdata, handles)function input_2_CreateFcn(hObject,
eventdata, handles)if ispc &&
isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction output_Callback(hObject,
eventdata, handles)function output_CreateFcn(hObject,
eventdata, handles)if ispc &&
isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction pushbutton1_Callback(hObject,
eventdata, handles)

这就是根据界面设置生成的代码,下面仅需要把我们的设置的各个框的Callback充实下即可;本次是以制作进行两数相加计算的计算器为例,首先我们先完成一个实现此功能的函数M文件,代码如下:

//
function [c ] = add( a,b )
c=a+b;
end

综上,我们设置的界面里的input_1,input_2,output分别与a,b,c对应,而pushbutton1对应于获取参数并调用函数add运行.
故接着在pushbutton1的Callback下填充如下代码:

//
%%function pushbutton1_Callback(hObject, eventdata, handles)
a=  str2num(get(handles.input_1,'string'));
b =  str2num(get(handles.input_2,'string'));
c =mat2str( add( a,b ));
set(handles.output,'string',c);

即获取参数a,b,调用add函数运算,输出c,中间的str2num,mat2str是进行数据类型转换。

到这里,我们的gui界面设计已经完全完成了,点击运行,即可出现我们设计的界面,输入参数,点击运行即可

这就是我要呈现的所有内容,我是一步一步操作下来的,按照我的步骤,肯定是可以实现GUI界面的,大家加油~
以及欢迎大家批评指正~

MATLAB之GUI界面创建相关推荐

  1. 手写数字识别问题(2)——利用matlab搭建GUI界面

    经过GUI的学习(详见博客:https://blog.csdn.net/didi_ya/article/details/105357279 ),小白逐渐了解了MATLAB的GUI界面及其搭建.下面是我 ...

  2. matlab的gui界面怎么用,MATLAB的GUI界面基础操作

    今天我们来学习如何用MATLAB的GUI界面进行一些简单的操作,因为GUI界面可以很简单的制作界面,按钮系列,直接拖拽即可,而不需要用代码对界面进行编写,只需要对里面的具体功能进行编码,我们今天就运用 ...

  3. matlab制作GUI界面(1)

    matlab制作GUI界面 概述 创建GUI界面 界面设置 静态文本 最后 概述 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的 ...

  4. 基于MATLAB软件GUI界面的自制简单电子琴

    基于MATLAB软件GUI界面的自制简单电子琴 概要: 本文基于MATLAB及其GUI界面设计了一个简单电子琴.利用MATLAB的GUI控件及相关算法,实现了一些简单的功能.这是作者大一暑期课程< ...

  5. 基于MATLAB软件GUI界面的可编程电音合成器软件

    基于MATLAB软件GUI界面的可编程电音合成器软件 1 总体设计 1.1 设计思路 1.2 软件运行 2 软件功能说明 2.1 软件界面 2.1.1 菜单栏 2.1.2 工具栏 2.1.3 MySy ...

  6. MATLAB中GUI界面开发上位机

    MATLAB是一个十分强大的工具,用来制作串口上位机也是不错的选择.虽然一般的上位机是用的C#或者C++编写的,这两者具有强大的系统操作能力或便捷灵活的通信和控制开发能力.但是对于我这种偏硬小白,ma ...

  7. MATLAB的GUI界面不显示XY坐标轴

    在GUI中创建一个坐标轴,默认会显示XY坐标,如下图: 如何关闭XY坐标轴呢? 首先在打开GUI界面,双击该坐标轴,在Xcolor和Ycolor中选择白色,将坐标轴设置为白色: 然后在xticklab ...

  8. MATLAB编辑GUI界面

    在命令窗口输入:guide 即可进入编辑 若要在GUI界面的一个面板上显示程序中随意给定的字符: 首先创建一个"可编辑文本"(位于左侧工具栏): 双击该面板,弹出该面板的工具栏,设 ...

  9. matlab中gui界面如何保存为图片,如何保存MATLAB GUI界面中的图片

    如何保存MATLAB GUI界面中的图片 代码来源自网络,作者未知,侵删. 原生支持png,bmp,jpg格式.另外自行添加了清晰度比较高的eps格式(荐). 新建一个按钮,按钮的代码如下. 其中第二 ...

最新文章

  1. 字符串多模式精确匹配(脏字/敏感词汇/关键字过滤算法)——TTMP算法 之实战F模式...
  2. 程序员如何避免陷入内卷?
  3. idae中spring mvc解决问题application context not configured for this file于spring框架使用中的原因
  4. bzoj:1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏
  5. cvs有机添加剂检测_汽车到底有没有必要添加燃油添加剂,如果需要加从什么时间开始用...
  6. HDU - 5306 Gorgeous Sequence(吉司机线段树)
  7. html悬浮弹窗后面背景变深,JS+CSS实现Div弹出窗口同时背景变暗的方法
  8. html中滚动栏的样式
  9. shiro学习(15):使用注解实现权限认证和后台管理
  10. linux一次执行多个命令,linux 一次执行多条命令
  11. 使用jdk的xjc命令由schema文件生成相应的实体类
  12. 文件预览-使用SecretID和SecretKey进行腾讯云cos桶文件预览(word、ppt等)
  13. (翻译)缩略图(Thumbnail)
  14. mac node repl_如何使用Node.js REPL
  15. 计算机领域SI单位,it领域什么是si
  16. Python批量修改图片名称,格式,并批量量化
  17. libxml2 安装使用
  18. Word~Word修改行间距磅值
  19. 差分隐私 深度学习_深度学习中的差异隐私
  20. S7-1200定时器

热门文章

  1. FFmpeg 命令行和API方式转换rtsp或264成Fragmented MP4
  2. 百度网盘高速下载器提示:高速受限!建议重新注册网盘账号使用
  3. c#第二课,气泡屏保
  4. R语言实战-读书笔记(第1 章 R语言介绍)
  5. 南邮matlab实验报告,南邮matlab实验报告.doc
  6. fm24c16c语言程序,铁电存储器FM24C16驱动程序(转)
  7. 颜色 透明度取值RGB
  8. 02华为大数据HCIE_Data Mining 数学基础 测试一下
  9. 9.添加好友 和删除
  10. php获取网址根目录,php获取当前目录_php获得网站根目录的几个方法