上一篇文章简要介绍了批量修改参数名称的方法,但是每一次批量修改不同的模块参数名称时,都需要手动修改代码。今天我们用Matlab自带的GUI功能来完成批量修改的任务。

GUI是什么?Graphical User Interface,图形用户界面,即已图形界面的方式帮助我们实现与计算机的交互,与直接编写代码、执行代码的方式比较,更方便普通人去使用。可以这样说,我们在电脑上安装的大部分软件,都带有GUI属性,方便非专业人员更好的使用软件。GUI只是帮助我们更舒服地使用代码,代码一直存在。

我们以上一篇文章中介绍的批量修改参数名称方法为例,来设计一个GUI界面,方便我们使用这些代码。

静态UI设计

UI设计属于静态设计,就是把图形界面设计成自己喜欢的样子。

在Matlab命令窗口输入guide,选择新建,即可打开GUI设计界面,如下图。

为实现批量修改模块参数名称需要进行以下操作:

1)1个Panel:搭建一个面板,作为参数输入界面的外围框图,双击该图形,修改其Title为“参数替换”,并修改字体、边框线性等属性(这些都比较随意,修改至自己喜欢的样子即可)。

2)2个Edit Text:搭建两个输入编辑窗口,作为后面进行参数修改的输入模块,双击这两个图形,删除其String中的定义“Edit Text”,其他属性也可以按需修改。

3)2个Static Text:搭建两个静态窗口,作为上面两个Edit Text的定义,上级这两个图形,修改其String为“替换前参数名”、“替换后参数名”, 其他属性也可以按需修改。

4)1个Push Button:搭建一个按钮,作为确认动作的窗口,双击图形,修改其String为“确定”。

5)调整上述图形的大小、相对位置等,让整个界面尽量美观。

操作完以上步骤后,可得到下面的图形:

点击保存,修改fig名称为“ParameterReplace”,就会同时保存下两个文件:.fig和.m。

.fig定义了刚刚设计的静态图形界面,.m文件定义了静态图形界面中各组件的回调函数,通过编辑这个.m文件可以帮助我们实现GUI界面的动态控制。

回调函数编写

图形用户界面添加交互组件后,此时运行出的GUI界面是静态的,用鼠标对界面上的组件和菜单进行操作时,不会产生任何响应。这时就需要编写各图形对象的回调函数,当用户用鼠标单击GUI界面上的某个组件或菜单时,使静态的GUI界面产生动态的变化。

回调函数的本质就是响应用户的操作,执行图形界面背后的代码,完成程序的正常执行。

为实现批量修改模块参数名称的任务,我们需要进行以下操作(更多操作指引请关注公众号视频内容):

1)右键“确定”按钮,选择菜单“View Callbacks”中的子菜单“CallBack”,就可以打开该Push Button按钮背后的回调函数。

2)把上一篇文章中的批量修改模块参数名称代码直接放在该“确定”按钮的回调函数下,稍作修改即可,具体代码如下。

function pushbutton1_Callback(hObject, eventdata, handles)

old=get(handles.edit1,'String');

new=get(handles.edit2,'String');

constant=find_system(gcb,'BlockType','Constant','Value',old);

for i=1:length(constant);

set_param(constant{i},'Value',new);

end

gain=find_system(gcb,'BlockType','Gain','Gain',old);

for i=1:length(gain);

set_param(gain{i},'Gain',new);

end

用get函数读取编辑窗口的替换前参数名称和替换后参数名称,用gcb获取当前模型的路径名。

理论上所有类型模块的参数名都需要进行上图所示的for循环,搜寻并替换,本文只做了Constant、Gain两种模块的处理。

GUI功能测试

以上完成了GUI静态图形和回调函数的设计,得到了以下两个文件。

下面进行GUI测试,具体操作步骤:

1)打开需要替换参数的模型newModel.slx,并用鼠标左键单击选中Subsystem;

2)打开.m文件,点击运行,弹出以下用户界面;

3)替换前参数名中输入“ConstPara1”,替换后参数名中输入“NewConstPara1”,点击确定,模型中的参数“ConstPara1”被成功替换为“NewConstPara1”。

测试通过。

以上用GUI界面成功实现了批量修改Simulink模块参数名称,相比手改代码方式,更友好更便捷。分享至朋友圈可获得本文源代码。

simulink模块名称显示设置_GUI界面实现批量修改Simulink模块参数名称相关推荐

  1. Matlab编程技巧:通过Matlab脚本批量修改Simulink模块的大小,背景颜色

    Matlab编程技巧:通过M脚本修改Simulink模块的大小,背景颜色 M脚本修改Simulink模块的大小,背景颜色 选取一个Simulink模型,获取模块参数,在命令行输入代码: sysBolc ...

  2. python批量修改图片格式和名称

    在制作数据集的过程中发现找到的图片名称和格式都很混乱,找了别人的发现老是报错. 同时总结了一下我自己这边程序报的错误: 1..jpg已存在** 比如我现在存在2.jpg,通过代码修改也会得到2.jpg ...

  3. python导入文件夹数据有改动_python办公自动化--批量修改文件/文件夹名称

    导语 今天我们来看下如何批量修改名称.这个需求在工作中比较常见的,日常生活中可能也有此类需求,比如,打包下载了一部连续剧或有声读物,每个文件名却被加上了网址.网站名称,还有一些莫名其妙的符号,整得特别 ...

  4. 批量修改文件名 大量文件名称一键替换文字

    给大家推荐一款批量更改文件名称的工具--文件批量改名高手,它会为你节省很多时间,批量文件改名可以用来批量重命名多个文件,替换特定文字,并将文件特有的信息插入每个新文件名中,一起来看看吧! 第一步,打开 ...

  5. 批量修改文件名,文件名称是小写字母如何一键转换为大写字母

    怎么批量将文件名称修改为大写?假如现在有大量文件,这些文件的名称为小写字母,现在需要将所有文件中的小写字母改为大写字母,你会使用什么方法?很多小伙伴可能不知道该如何操作,小编今天就来分享操作方法,感兴 ...

  6. 使用命令批量修改文件的后缀名称

    方法: 1.把需要修改名称的文件放在一个文件夹里,如下图: 2.新建一个记事本,并输入命令:"ren *. *.mp3"(注意不要输入双引号),并保存.如下图: 3.修改记事本文件 ...

  7. python日志模块为什么打印到界面_如何将外部模块的日志消息打印到主Python模块的终端窗口?...

    我正在写一个Python命令行程序.在 有一个主Python脚本文件,用作入口点.当用户运行这个脚本时,它将执行一些外部Python脚本文件.外部Python脚本文件也可以执行其他外部Python脚本 ...

  8. 安卓上传文件时修改文件名称_使用mmv命令批量修改文件名称

    在 Linux 中使用 mv 命令可以重命名或者移动文件及目录,但是它不支持一次重命名多个文件.本文介绍mmv的使用方式,使用通配符模式移动/复制/追加/链接多个文件 环境 Centos7.7 安装m ...

  9. matlab设置图片名称,如何在matlab中批量修改图片名称

    %% % 提供原图片文件路径 oldPath = 'H:\毕业设计相关matlab代码\图片'; % 原来的放图片的文件夹地址 newPath = 'C:\Users\HS\Desktop\实验图片' ...

最新文章

  1. shell --- awk规范 系统总结
  2. hicharts Linux服务器导出,中文字体问题
  3. spark保存到mysql_Spark写入数据到MySQL
  4. 全球及中国数字电视产业盈利模式及发展动态建议报告2021-2027年
  5. array_reduce() 与 array_map()
  6. python-json
  7. 逆向so_记一次APP的so层算法逆向(七)
  8. Matlab高级绘图功能
  9. 钉钉总裁不穷首谈产品观:To B产品用户不只是CEO
  10. php无法查询excel数据,laravel phpexcel无法读取excel中中文表头列数据
  11. [k8s]jenkins配合kubernetes插件实现k8s集群构建的持续集成
  12. HTML sublime :Please wait a bit while PyV8 binary is being downloaded 及代码和注释颜色 ,大小调节
  13. vbs表白代码+整人代码,抖音vbscript表白代码
  14. 小瞥linux下UML工具
  15. 7-24 约分最简分式 (15 分)
  16. Excel 2010 VBA 入门 128 在窗体中插入控件
  17. textaligncenter仍然不居中_你不知道的中华文化,中华文化的根源不是儒家而是河图洛书...
  18. 计算机控制实验报告组态软件学习,中北大学组态软件实验报告
  19. Java设计模式:抽象工厂
  20. 无桥PFC的优势及解决方案

热门文章

  1. 在可靠的头肩底中淘金(转 封起De日子)
  2. STM32F103调试笔记(1)——microusb接入电脑后显示未知USB设备(代码43)
  3. 【计科快速入门】 三、布尔逻辑和逻辑门
  4. 小米系列手机 开发者版本 之 USB安装出现当前设备已被临时限制
  5. Linux系统如何替换新硬盘
  6. office服务器草稿位置,精确定位图片在Word文档中的位置的操作方法
  7. windows商店直接安装ubuntu子系统
  8. 软件性能测试模拟笔试题目
  9. cad断点快捷键_史上最好的CAD常用快捷键及使用方法集
  10. 去中心化数据库:传统IT与区块链的未来融合形式