初衷

由于课程要求,学习了下创建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. 基于HTML5的WebGL结合Box2DJS物理应用
  2. C++ 复数类加减法运算重载为成员函数形式
  3. 推荐3个C++系统项目!初级开发者必学!
  4. 敏感词过滤的php代码,php实现敏感词过滤(Trie树)
  5. 【POJ - 1947】Rebuilding Roads (树形dp,背包问题,树形背包dp)
  6. 【转】HashSet的用法
  7. 反转链表与链表实现两数相加(简单思路)
  8. 468.验证IP地址
  9. [源码和报告分享] 基于VC++的MFC类库实现的通讯录管理系统
  10. mybatis使用详解
  11. 【基于IPD的产品开发体系】推行实践
  12. HTML(超文本标记语言)
  13. 华为鸿蒙新平板,华为鸿蒙Beta 3.0 版本推送更新 预装鸿蒙新平板获入网许可
  14. postgreSql数据库笔记
  15. 判断给出的秒数是几天几小时几分几秒
  16. Firebase国内替代方案
  17. 学习笔记整理:Photoshop软件应用-图层的应用和渐变工具
  18. 天邑ty1208z海思3798刷版本_天邑TY1208Z海思3798芯片强刷安卓系统固件rom刷机包下载...
  19. pythonelectron桌面开发案例_Web桌面应用框架1:Electron与WEB桌面应用程序开发及其它...
  20. Android 多线程实现方式

热门文章

  1. 北京奥运会的谷歌Logo
  2. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第47讲:PHP程序设计中的文件操作
  3. 计算机中常用软件列表,详解win10中常用软件列表不要在任务栏显示的方法
  4. VueDemo1:记事簿(v-for、v-on、v-model)
  5. 后端jar包 设置成服务 开机自启动
  6. 全新版大学进阶英语2 视听说教程unit 3课后习题答案
  7. 发射,接收天线方向图
  8. 冰河远程控制软件使用
  9. C#生成电子印章源码
  10. 西门子PLC 硬件标识符 (Hardware ID)基本应用