Matlab GUI编程

article/2025/10/6 16:29:09

在matlab命令行上输入guide或者从菜单中选择New GUI可以创建matlab的图形用户界面。

创建空白的GUI界面(默认),其界面如下:

未命名情况下matlab将会在当前工作目录下,同时将会生成untitled.fig和untitled.m文件。其中untitled.fig是图形用户界面文件,用于生成GUI界面,和用户进行交互,untitled.m是实现文件,用来处理用户的请求,函数实现在这里。

左边是工具箱,右边是画布,上面的工具栏是一些常用操作的快捷方式,例如撤销恢复,拷贝粘贴,对齐,对象浏览,运行。有过其他语言GUI编程的朋友应该不陌生。

再来看看matlab在untitled.m生成哪些内容。

function varargout = untitled(varargin)
% UNTITLED MATLAB code for untitled.fig
%      UNTITLED, by itself, creates a new UNTITLED or raises the existing
%      singleton*.
%
%      H = UNTITLED returns the handle to a new UNTITLED or the handle to
%      the existing singleton*.
%
%      UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in UNTITLED.M with the given input arguments.
%
%      UNTITLED('Property','Value',...) creates a new UNTITLED or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before untitled_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to untitled_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help untitled% Last Modified by GUIDE v2.5 27-Aug-2014 20:54:04% Begin initialization code - DO NOT EDIT
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{:});
end
% End initialization code - DO NOT EDIT% --- Executes just before untitled is made visible.
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to untitled (see VARARGIN)% Choose default command line output for untitled
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes untitled wait for user response (see UIRESUME)
% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.
function varargout = untitled_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structure
varargout{1} = handles.output;

这些是matlab初始化的一些代码,从其中注释的可知,前面一段是初始化的一些代码,最好不要做编辑更改。后面两个是gui开始时调用函数,和退出时调用函数。

% Begin initialization code - DO NOT EDIT
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{:});
end
% End initialization code - DO NOT EDIT

其中比较重要的就是gui_mainfcn(gui_State, varargin{:})函数,GUI的主函数,用来获取用户操作,处理调用相应的回调函数,处理这些请求。

然后现在说怎么编写这些回调函数。回到fig界面,拖动控件到窗口画布,右键单机property Inspector,弹出属性设置对话框,在这里可以设置控件的属性,指定触发事件函数。比较重要的就是Callback,在这里指定回调函数。

 

在Matlab GUI编程里面,每个控件都有唯一的Tag(也就是matlab里面的变量名)。通过Tag可以获取这些控件上的字符串或者数值。

可以通过get去获取控件上的属性,例如str=get(handles.num1,'string'),就是用来获取Tag名为num1的控件的字符创值赋值给str变量。同样适用set方法可以设置这些值。在此不再多叙述。

示例:编写一个加法计算器

1.首先设置界面,对各个属性最好起自己熟悉的Tag名,设置按钮的回调函数。

2.在m文件里面相应的回调函数写下如下代码:

num1=str2num(get(handles.num1,'string'));
num2=str2num(get(handles.num2,'string'));
set(handles.sum,'string',num2str(num1+num2));

这样就完成了。保存,运行就可以看到效果。



附MATLAB的一些常用函数:
 1.figure函数:创建一个新的图形对象。
2.newplot函数:做好开始画新图形对象的准备。
3.axes函数:创建坐标轴图形对象。
4.line函数:画线。
5.patch函数:填充多边形。
6.surface函数:绘制三维曲面。
7.image函数:显示图片对象。
8.uicontrol函数:生成用户控制图形对象。
9.uimenu函数:生成图形窗口的菜单中层次菜单与下一级子菜单。

几个实用的小函数:

uigetfile  选择文件对话框
uiputfile  保存文件对话框
uisetcolor  设置颜色对话框
fontsetcolor  设置字体对话框
msgbox    消息框
warndlg    警告框
helpdlg     消息框


更多内容可以参考

1.《数字图像处理的MATLAB实现》

2. Matlab GUIDE使用总结--Matlab GUI界面  





http://chatgpt.dhexx.cn/article/VD65GRYe.shtml

相关文章

学习matlab(十四)——GUI

1.编程方法 在本章首先详细的介绍了MATLAB的图形句柄,通过对图形对象的属性进行设置,可以是实现图形的底层控制和设置。然后介绍了用户接口对象,用于建立各种按钮、菜单和工具条等。最后介绍了常用的对话框,这些对话框是GUI编程常用的基本元件。 在MATLAB中,各种句柄图形对象…

matlab制作GUI界面(1)

matlab制作GUI界面 概述创建GUI界面界面设置静态文本最后 概述 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 图形用户界面是一种人与计算机通信的界面显示格式…

matlab GUI编程入门

转载请注明来自:黄朝辉的博客 1.前言 这里我们来实现一个加法器,功能比较简单,主要用于了解matlab中的代码是如何与控件进行交互。 2.绘制界面 在命令行窗口中输入: >> guide 直接“确定”即可。 将需要的控件从左边托…

MATLAB GUI学习———简易计算器

暑假快要过完了才想起来学习,最近刚好接触到MATLAB中的GUI,觉得还挺有意思的,今天就用GUI产生了一个简易的计算器,实现了基本的加、减、乘、除运算。由于是新手小白,所以刚刚开始的时候,我是在网上去找了一…

MATLAB的GUI设计——计算器

出于兴趣爱好自学了一段时间的MATLAB,然后学习自制了一个属于自己的一个计算器,现在将我的第一个GUI分享给大家。(MATLAB版本为R2019a) 一、准备工作 ①首先在MATLAB中的命令行窗口输入guide,之后会出现如下界面&…

MATLAB 编写一个简单的GUI

MATLAB作为一个使用方便、容易上手的工具,也经常用来进行相关项目的结果展示 本次博客讲解一下如何创建一个简单的GUI 首先,启动matlab,在命令窗口输入 guide 在弹出的窗口选择 Blank GUI 在随后弹出的窗口中,左侧是工具栏&#…

Matlab GUI组件详解

1、触控按钮(Push Button) 在Push Button 上双击调用属性查看器可以查看和设置Push Button 的所有属性Push Button 对象的常用属性见下表。 2、静态文本(Static Text) Static Text 通常用于显示其他对象的数值状态等Static Text…

MATLAB创建GUI

1.matlab命令行输入guide,新建GUI图形界面,或者新建–应用程序–GUIDE,选择Blank GUI,选择路径。 2.在图形界面点击左侧控件和组件构建图形界面。 主要用到的控件和组件: (1)按钮(选…

MATLAB GUI实现计算器(设计)

文章目录 1.先打开matlab新建GUI文件2.选择路径(左边是默认的不用改)3.此时界面会弹出一个小框4.建立计算器界面(贴上我设计的界面,不许嘲笑我的设计)5.细致讲解一下,这里的按键和显示框的是怎么实现的6.把…

MATLAB GUI笔记(一):按钮的使用

笔记一是简单地介绍按钮的使用,通过点击按钮实现传递字符串的功能来简单了解按钮的用法。 目录 笔记一是简单地介绍按钮的使用,通过点击按钮实现传递字符串的功能来简单了解按钮的用法。1. 打开GUI界面2. 选择Blank GUI3. 将按钮拖动出来4. 选择可编辑文…

带你从零开始,快速学会 Matlab GUI

本文来自作者 木木小迷哥 在 GitChat 上分享「Matlab GUI 零基础学员快速入门」,「阅读原文」查看交流实录 「文末高能」 编辑 | 洛肯 Matlab广泛地应用于数学分析、计算、自动控制、系统仿真、数字信号处理、图像处理、数理统计、人工智能、通信工程和金融系统等领…

如何用Matlab设计GUI?

如何用matlab设计gui? | TinTin 什么是GUI?matlab编程可以设计GUI吗? GUI定义:GUI指的是图形用户界面(Graphical User Interface,GUI),也称之为图形用户接口,GUI是用图形化方式显示…

Matlab GUI界面使用方法(一):打开GUIGUI常用控件(最基础)

GUI界面能够为我们的matlab代码提供一些有好的交互界面,下面是matlab中gui界面的一些使用方法(因为我在使用gui时,常常因为找不到一些控件的使用方法或某些功能的实现方法,所以在此为大家提供一些我遇到过的问题的解决方法&#x…

【MATLAB学习笔记——GUI】

Matlab中GUI 学习笔记 虽然打开matlab后提示说GUI后续版本会取消(以后的版本中将会删除 GUIDE。请改用 APPDESIGNER。 ),但是老师布置了matlab GUI实验,所以说还得学习学习,所以记录学习过程,学习笔记。 …

MATLAB:简单GUI的设计流程

下面来介绍一下关于MATLAB中如何设计个性化GUI界面的流程: 1、首先打开MATLAB软件如下: 2、在 主页下的“新建”选项中选择新建一个图形用户界面(GUI),结果如下: 3、这是我们选择第一个“Blank GUI&#x…

图像处理 Matlab GUI系统(全)

目录 导读 数字图像处理系统 GUI实例设计 总结 【若觉文章质量良好且有用,请别忘了点赞收藏加关注,这将是我继续分享的动力,万分感谢!】 导读 以数字图像处理系统设计为例,介绍GUI系统的设计流程,同时…

MATLAB之GUI界面介绍与搭建

作为图形用户界面(GUI)的小白,先来了解一下GUI界面的内容: MATLAB中常用的是利用guide命令搭建GUI界面。 第一步: 命令行窗口输入>>guide 第二步:弹出GUIDE快速入门窗口,选择新建GUI(同理…

Matlab制作GUI

效果图 图1.主界面 图2.其中一个子界面 具体步骤 1.界面设置 输入guide并选中运行 2.菜单设置(图1上方) 3.背景图片 参考https://blog.csdn.net/leo0308/article/details/82694995 4.界面跳转 在自动生成的Untitled_5_Callback末尾加一句set&am…

Matlab写的第一个GUI程序(程序设计,界面设计)

写在前面:博主用的Matlab版本是2016b,属于旧版本,大概在2019版本开始属于新版本叭,新版本写程序在APP菜单有设计APP这个选项,旧版本的则是在主页的新建选项下有GUI选项 目录 1.新建项目 1.1找到入口 1.2项目模板选择…

Matlab GUI界面设计

摘要:本篇博文基于MATLAB2014a进行GUI设计。 1.启动GUI设计 命令行输入guide,回车。 即可得到下面的对话框,进行相关的选择和设置 点击确定,得到两个文件,一个是.m文件,另一个是.fig文件,需要…