news 2026/5/6 4:01:01

Matlab: 如何通过GUIDE设计GUI?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Matlab: 如何通过GUIDE设计GUI?

目录

1. 启动 GUIDE

2. GUIDE 界面布局

设计界面元素:

3. 组件类型和属性

常用组件:

4. 完整设计示例

步骤1:创建 GUI 文件

步骤2:添加组件

步骤3:设置组件属性

步骤4:保存 GUI

5. GUIDE 生成的代码结构

6. 回调函数编写

按钮回调示例:

编辑框回调:

滑块回调:

7. 数据传递和存储

使用 handles 结构体:

使用 UserData 属性:

8. 定时器功能

9. 菜单和工具栏

添加菜单:

10. 调试和优化技巧

调试回调函数:

常见问题解决:

11. GUIDE 到 App Designer 迁移

手动迁移步骤:

重要提醒:


虽然 MATLAB 官方已宣布 GUIDE 已被淘汰,但许多现有项目仍在使用,这里提供完整的 GUIDE 使用指南:

1. 启动 GUIDE

% 方法1:命令行启动 guide % 方法2:指定启动模板 guide('new') % 新建空白GUI guide('BlankFig.fig') % 基于模板

2. GUIDE 界面布局

设计界面元素:

  • 左侧工具栏:组件面板

  • 中央区域:GUI 设计画布

  • 右侧:属性检查器

  • 菜单栏:布局、对齐工具

3. 组件类型和属性

常用组件:

% 通过代码查看组件的所有属性 hButton = uicontrol('Style', 'pushbutton'); get(hButton) % 显示所有属性
组件Tag前缀主要属性
Push ButtonbtnString, Callback
Edit TexteditString, Callback
Static TexttextString
SlidersliderMin, Max, Value
Radio ButtonradioString, Value
CheckboxcheckboxString, Value
Pop-up MenupopupString, Value
ListboxlistboxString, Value
Axesaxes图形显示区域

4. 完整设计示例

步骤1:创建 GUI 文件

guide % 选择 "Blank GUI (Default)"

步骤2:添加组件

  1. 从左侧工具栏拖拽组件到画布

  2. 常用组件:

    • Push Button(按钮)

    • Edit Text(编辑框)

    • Static Text(静态文本)

    • Axes(坐标轴)

步骤3:设置组件属性

双击组件或右键 → Property Inspector:

  • Tag:设置组件标识符(重要!)

  • String:显示的文本

  • Position:位置和大小

  • Callback:回调函数名

步骤4:保存 GUI

文件 → 保存(生成两个文件):

  • myGUI.fig:界面布局文件

  • myGUI.m:程序代码文件

5. GUIDE 生成的代码结构

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 12:11:29

表驱动法:告别 if-else(案例:查月份天数、成绩分级)

把「输入→输出」的对应关系做成一张 “表”&#xff08;数组 / 哈希表都行&#xff09;&#xff0c;不用写一堆条件判断&#xff0c;直接拿输入当索引去表里查结果#include<stdio.h>#define MONTH_COUNT 12 #define GRADE_COUNT 11int is_leap_year(int year); int get_…

作者头像 李华
网站建设 2026/4/29 20:32:13

厨艺交流平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着互联网技术的快速发展&#xff0c;人们对饮食文化的关注度逐渐提升&#xff0c;厨艺交流成为热门话题。传统的线下交流方式受限于时间和空间&#xff0c;难以满足用户多样化的需求。在线厨艺交流平台应运而生&#xff0c;为用户提供便捷的菜谱分享、烹饪技巧讨论以及美…

作者头像 李华
网站建设 2026/4/25 13:36:59

基于django 的人工智能研讨社区系统

目录基于Django的人工智能研讨社区系统关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于Django的人工智能研讨社区系统 该系统是一个专为人工智能领域研究者、开发者及爱好者设计…

作者头像 李华
网站建设 2026/5/4 14:10:52

程序员必学!Claude Skills与MCP协同实战:构建智能代理的收藏级指南

文章介绍了Anthropic的Claude模型中Skills与MCP的协同机制。MCP提供对外部系统的标准化连接&#xff0c;而Skills提供工作流程逻辑&#xff0c;指导Claude有效使用这些工具。两者结合可构建遵循特定工作流程的智能代理&#xff0c;实现清晰的数据发现、可靠的任务编排和一致的性…

作者头像 李华
网站建设 2026/4/21 12:52:50

【day 50】预训练模型

浙大疏锦行 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np# 定义通道注意力 class ChannelAttention(nn.Mod…

作者头像 李华