如何使用Matlab完成窗口与子窗口
目录
一、前言
二、主窗口与主窗口按钮
三、子窗口
四、调用函数并显示在子窗口中的文本框中
五、关闭子窗口
一、前言
有时候需要借用Matlab完成一个图窗功能,但是我们的程序不仅拥有功能,还拥有一些子功能,那么我们该如何借助Matlab完成窗口与子窗口功能呢?
二、主窗口与主窗口按钮
创建主窗口添加主窗口按钮。具体代码如下:
% 主窗口
mainFigure = uifigure('Name', '主窗口', 'Position', [100, 100, 400, 300]);
% 主窗口按钮
mainButton = uibutton(mainFigure, 'Text', '打开子窗口', 'Position', [150, 130, 100, 30], 'ButtonPushedFcn', @(src, event) openSubWindow(src));
单击主窗口按钮会打开一个子窗口,主窗口布局如下:

三、子窗口
MATLAB 可以创建子窗口或模态对话框来实现类似子功能的弹窗。子窗口通常是通过 uifigure、uipanel 或 uitab 等 UI 组件创建的。我们可以在子窗口中添加按钮、文本框、图形等组件,以实现所需的功能。
创建一个子窗口函数创建子窗口
在子窗口中添加按钮
在子窗口中添加关闭按钮
在子窗口中添加文本框。具体代码如下:
% 子窗口函数
function openSubWindow(~)% 创建子窗口subWindow = uifigure('Name', '子窗口', 'Position', [200, 200, 400, 250]);% 在子窗口中添加按钮subButton = uibutton(subWindow, 'Text', '启动程序', 'Position', [50, 150, 150, 30], 'ButtonPushedFcn', @(src, event) runFunction(src, subWindow));% 在子窗口中添加关闭按钮closeButton = uibutton(subWindow, 'Text', '关闭子窗口', 'Position', [250, 150, 100, 30], 'ButtonPushedFcn', @(src, event) closeSubWindow(src, subWindow));% 在子窗口中添加文本框resultTextArea = uitextarea(subWindow, 'Position', [50, 50, 300, 80]);
end
子窗口中有两个按钮,第一个按钮可以启动相应的功能,第二个按钮可以用于关闭子窗口。子窗口布局如下:

四、调用函数并显示在子窗口中的文本框中
除了子窗口按钮事件外,有时候当子窗口中的按钮被点击时,我们想要调用一个函数,并将该函数的结果显示在子窗口中的文本框中,这样又该如何操作呢?
function runFunction(~, subWindow)% 调用需要执行的函数result = exampleFunction(subWindow);% 在子窗口中获取文本框对象resultTextArea = subWindow.Children(end-2); % 获取子窗口的倒数第三个子组件% 显示函数结果在文本框中resultTextArea.Value = ['Function Result: ' num2str(result)];
end

MATLAB R2021b及更早版本的uitextarea并不支持Value属性。我们可以使用Value的替代属性Text。当‘启动程序’被点击时,调用 runFunction 函数,该函数会执行 exampleFunction 并将结果显示在文本框中。当然我的博客只是做一个简单的示例,所以我的exampleFunction 在这里仅返回一个随机数,你可以替换为自己想要执行的功能。

五、关闭子窗口
我们可以根据实际需要在子窗口中添加更多的组件和功能。并且关闭子窗口时,只需调用 close(subWindow) 即可。
% 关闭子窗口
close(subWindow);
博主的每篇博文都是用心去写的,喜欢的可以多多支持和收藏,创作不易,未经作者允许,请勿转载或者抄袭。因为抄袭风气盛行,故一些细节或者代码没有展示,敬请谅解。
相关文章:
如何使用Matlab完成窗口与子窗口
目录 一、前言 二、主窗口与主窗口按钮 三、子窗口 四、调用函数并显示在子窗口中的文本框中 五、关闭子窗口 一、前言 有时候需要借用Matlab完成一个图窗功能,但是我们的程序不仅拥有功能,还拥有一些子功能,那么我们该如何借助Matlab完…...
Threejs之相机基础
参考资料 正投影相机…相机控件MapControls 知识点 注:基于Three.jsv0.155.0 正投影相机正投影相机-Canvas尺寸变化包围盒Box3地图案例(包围盒、正投影)相机动画(.position和.lookAt())不同方向的投影视图旋转渲染结果(.up相机上方向)管道漫游案例OrbitControls…...
2024SIA上海国际轴承工业展览会 ▎参行业盛会 展轴研风采
2024SIA上海国际轴承工业展览会 内容:1、轴承制品展区:2、轴承设备展区:3、轴承零件展区: 国际轴承展丨轴承工业展丨轴承装备展丨上海轴承展丨上海轴承工业展丨上海轴承装备展 2024上海国际轴承工业展览会将会于2024年7月24-26日…...
SQLMap介绍
预计更新SQL注入概述 1.1 SQL注入攻击概述 1.2 SQL注入漏洞分类 1.3 SQL注入攻击的危害 SQLMap介绍 2.1 SQLMap简介 2.2 SQLMap安装与配置 2.3 SQLMap基本用法 SQLMap进阶使用 3.1 SQLMap高级用法 3.2 SQLMap配置文件详解 3.3 SQLMap插件的使用 SQL注入漏洞检测 4.1 SQL注入…...
平头哥玄铁系列 RISC-V 芯片及开发板
1、玄铁 9 系列概述 玄铁 8 系列 基于C-SKY架构,玄铁 9 系列基于 RISC-V 架构。E 系列为 RISC-V 32 位,C 系列为 RISC-V 64 位。 E902:超低功耗 RSIC-V 架构处理器 E902 采用 2 级极简流水线兼容 RISC-V 架构且对执行效率等方面进行了增强&a…...
Android 删除浏览器导航页面修改默认主页
Android 删除浏览器导航页面修改默认主页 近来收到客户需求反馈,需要删除浏览器导航页面并将百度设置为默认主页,具体修改参照如下: 删除浏览器导航页面: /vendor/mediatek/proprietary/packages/apps/Browser/src/com/android…...
【Stm32-F407】Keil uVision5 下新建工程
①双击鼠标左键打开Keil uVision5,选择 Project 下的 New uVision Project ; ②在期望的文件夹下创建一个工程,并按如下要求操作; ③添加文件类型,按如下要求操作 ④如有需要可添加相关启动文件在工程文件夹下并添加到…...
linux中文件服务器NFS和FTP服务
文件服务器 NFSNFS介绍配置nfs文件共享服务端客户端 FTPftp介绍FTP基础ftp主动模式ftp被动模式 Vsftp 服务器简介vsftpd配置安装vsftpd[ftp的服务端]编辑配置文件匿名用户设置创建本地用户使用ftp服务 客户端操作匿名用户登录本地用户登录lftp服务 NFS NFS介绍 文件系统级别共…...
茶室茶楼计时计费软件,软件中的商品管理计时操作教程
一、前言 茶室在营业的时候,不但需要计时间,同时还需要管理商品入库出库库存等管理。这就需要一款实用的操作简单的管理软件。 下面以 佳易王茶社计时计费软件V18.0为例说明,其他版本可以参考本教程。 软件下载或技术支持可以点击最下方官…...
从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧
IOC/DI配置管理第三方bean 1.1 案例:数据源对象管理1.1.1 环境准备1.1.2 思路分析1.1.3 实现Druid管理步骤1:导入druid的依赖步骤2:配置第三方bean步骤3:从IOC容器中获取对应的bean对象步骤4:运行程序 1.1.4 实现C3P0管理步骤1:导入C3P0的依赖步骤2:配置第三方bean步骤3:运行程…...
Flink的容错机制
容错机制 容错:指出错后不影响数据的继续处理,并且恢复到出错前的状态。 检查点:用存档读档的方式,将之前的某个时间点的所有状态保存下来,故障恢复继续处理的结果应该和发送故障前完全一致,这就是所谓的检…...
GO设计模式——11、装饰器模式(结构型)
目录 装饰器模式(Decorator Pattern) 装饰器模式的核心角色: 优缺点 使用场景 代码实现 装饰器模式(Decorator Pattern) 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功…...
全志V3s之U-Boot
1、安装交叉编译器: ARM交叉编译器的官网:交叉编译器 a、使用wget下载: wget https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xzb、解…...
【华为OD】依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列
题目描述主管期望你来实现英文输入法单词联想功能需求如下:依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀注意1.英文单词联想时,区分大小写2.缩略形式如"dont",判定…...
CentOS 7.9安装宝塔面板,安装gitlab服务器
docker安装方式比较慢,安装包1.3GB 安装后启动很慢 docker logs q18qgztxdvozdv_gitlab-ce-gitlab-1 docker ps docker exec -it q18qgztxdvozdv_gitlab-ce-gitlab-1 sh cd /etc/gitlab cat initial_root_password 软件商店安装方式,失败了2023.12…...
AutoGen多代理对话项目示例和工作流程分析
在这篇文章中,我将介绍AutoGen的多个代理的运行。这些代理将能够相互对话,协作评估股票价格,并使用AmCharts生成图表。 我们创建对话的目的是要求代理分析特定公司的股票价格,并制作股票价格图表。 为了实现这一目标,…...
多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测
多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现RIME-CNN-…...
使用高防IP防护有哪些优势
高防IP是针对互联网服务器在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。高防IP相当于搭建完转发的服务器。 高防IP有两种接入方式&a…...
android-xml语法
xml解析器 Android的XML文件语法是由Android系统中的解析器解析的。具体来说,Android使用了一个名为"Android Asset Packaging Tool (AAPT)"的工具来解析和处理XML文件。AAPT负责将XML文件编译为二进制格式,并在构建过程中将其打包到Android应…...
【银行测试】第三方支付平台业务流,功能/性能/安全测试方法...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、第三方支付平台…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
