matlab中GUI的属性检查器中的XLimMode是什么_如何在Matlab中使用GUI做一个简易音乐播放器? ---- (二)GUIDE...

4015513442ffe0b8c084c62a81ab7371.png

咕咕怪由于昨天有重要的事情所以咕了一天的文章

(感觉写得挺基础的,对各个部分有一定了解的童鞋可以直接跳过了解的部分

用Matlab做一个app有几种办法呢?

同样的,帮助文档告诉了我们答案:三种。

a8bbdd1814ab565ef1d6037879fd6ba1.png
英语好的童鞋看完这张图应该就大概懂了

(我个人在这个项目中主要使用GUIDE

一、Programmatic Workflow

从简单的说起吧,第一种,简单来说就是用代码直接实现。

也就是说,你需要像个老父亲一样事无巨细地一样样构建:

“从底端的figure、panel到上端的uicontrol、axes,一幅横贯GUI的铁幕已经降落下来。“

不论是运行的程序窗口有多大、出现在屏幕哪个角落这类和用户体验挂钩的属性;

还是控件显示的字体是什么、字号有多大这类细碎的事物;

或是设置物体间的”亲子关系”(Parent/Child);

但凡用得到的,都需要一一设置。

举个具体例子吧,你可以新建脚本,然后把这段代码复制到你的matllab里然后运行并体验一下每行代码各个属性的含义:

function[] 

这种方法有什么好处呢?

个人认为,这样的好处大概在于没有中间商赚差价,控件要用的属性和设置都一目了然;而且具有很强的可复制性,想要做同样的一个按钮只需要Ctrl+C & Ctrl+V 就完事了。

缺点也很清楚。。。控件一多摆起来写起来实在是一项大工程。

二、GUIDE

这是我这次使用的一个重要工具。打开方式很简单,在命令行窗口中输入guide并按回车,稍候片刻就会弹出这样一个窗口:

6ded7f280a59e8e4d368c38addf6493f.png
来自matlab2017a的问候

由于下面三种与我们要做的GUI实在相差太多,我们选择第一个,建立空白GUI。

进入后左手边就是我们可爱的各种控件了

我们这次主要用到的控件和实现的功能有:

  1. 静态文本(Static Text),用于显示歌曲名称和播放时长
  2. 滑动条(Slider),用于调整播放进度及音量大小
  3. 可编辑文本(Edit Text)(这个项目可用也可不用)
  4. 按钮(Push Button),用于上一首、下一首的交互功能
  5. 可切换按钮(Toggle Button),播放/暂停切换功能
  6. 单选按钮(Radio Button),用于调整panel是否可视
  7. 面板(panel),美观就完事了
  8. 坐标轴(axes),可以用来显示声音的波形
  9. 列表框(Listbox),可以用来做播放列表

0eff4b9614e3a1f3d7f6d19662147630.png
我摆成了这个样子

(当然摆完后各个控件上是不会有字符的,像“添加”、“删除”、“下一首”这些字符都是我们要现在加的

在你把各种控件放置在了你所想象的位置后,就可以添加这些字符来改进这个小程序给用户的“第一印象”了:

双击我们要调整的控件,弹出了一大堆属性:(这里以按钮“下一首”为例)

993d935ce76022532584b0dc7ad250bd.png
按键“下一首”的各种属性↑

由于这篇教程篇幅有限,就着重介绍几个与本项目相关的属性:

CData:如果你有合适切题的图标,就可以赋给CData,不然你只能像下面一样偷懒了↓

String:一般都是显示在这个控件上的文字(当然slider滑动条这类的除外,我就直接用这个写了个“下一首”。。。

Callback:就是传说中的回调,这将是交互的关键!!!在下一篇中详细讲

Style:表示“这是什么控件”,这个控件是pushbutton

Tag:这个控件调用或者写回调的时候你该怎么称呼它,例如,如果你将Tag改成WoHaoShuai:

tmpstr = get(handles.WoHaoShuai,'String');
%tmpstr会是'下一首'
%你可以给每个控件都起个与众不同的名字
%类似这样的get、set在控件交互中将会很多

当你觉得你摆放完备且整齐后,就可以点击保存了

之后,你会得到.fig文件*1、.m文件*1

下一步就是编写.m文件了!

欲知后事如何,且听下回分解(雾

对了,还有:

三、App Designer

App Designer是在matlab2016a之后加入的新功能,在2018a后又加入了一些新功能(然而我用的是2017

打开方式和上一个比较像,在命令行中输入“appdesigner”就行了。

(根据我的使用感觉,最大的优点大概就是控件要美观太多了!!!!缺点大概就是这个平台不像GUIDE那样成熟,功能暂时没有那么齐全,不过我非常看好这种方法在以后的使用,甚至有想更新到2018用这个重新做一个播放器的想法

关于它和GUIDE的区别,请看:(纯英文预警,但讲得真的很透彻清楚

The State of App Building in MATLAB​blogs.mathworks.com

另外,写给强迫症:

你是否遇到控件对不齐又无可奈何强迫症爆发的情况?

其实GUIDE自带对齐功能,以封面那个图为例,位置是上面那一排中图标像汉字“串”一样的那个,在里面你可以花式对齐各种控件,具体操作方法就不赘述了

参考:

Ways to Build Apps​www.mathworks.com
7346b59d57be3e3927df2d4b8cf76c04.png

还有前几排那个文章,如果不想看英语,这里还有我找到的有好心人做了翻译工作的:

【小知识】MATLAB的App Designer与GUIDE​blog.csdn.net

由于这几天事情比较多,如果出现了错别字和表达错误不规范请通知我,我会修改的(迫真

祝大札开学快乐!XD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VxWorks下几种定时延时方法的小结

1 taskDelay taskdelay()提供了一个简单的任务睡眠机制,也常用于需要定时/延时机制的应用中。 它的格式是 STATUS taskDelay(int ticks /* number of ticks to delay task */ ), 可以看出使用该函数实现延时的单位为tick(一般系统中一个…

C#中ToString格式大全

C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString("E") 2.500000E005 F 固定点 25.ToString("F2") 25.00 …

DDMMSS.SS转为DD

有时候甲方会给我们一些坐标,但是在arcgis中是无法直接显示的 这是因为该格式是DDMMSS.SS的格式,而arcgis支持的是DD格式的,其中dd单位是度,mm单位是分,ss.ss单位是秒 所以要在arcgis中显示我们需要将其转换为DD的格式…

LSGO软件技术团队2015~2016学年第十一周(1109~1115)总结

团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统;研究方向为大数据处理与机器学习。成立几年来为学校…

maven springboot 除去指定的jar包_SpringBoot的运行机制

SpringBoot打包机制先看一眼spring-boot的maven插件打包后的target目录:其中有一个.jar.original的文件,一个.jar文件,其中.jar.original才是原始的jar包,而.jar文件是经过spring-boot的maven插件处理过后的jar,spring…

VxWorks中Timer机制

[摘要] Timer是实时操作系统的一个重要组成部分。本文结合近阶段的学习和实验情况,对VxWorks中的时间函数和定时器作了一些探讨。主要介绍了Timer的机制,相关的函数,并给出了一些具体的例子。 一. Tick Tick是指每秒中定时器中断的次数。POS…

LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib”

出现这类问题一般是由于所运行的项目是VC6(或者vs2003)创建的,而后又用VS2005或者更高版本工具打开项目导致的,原因都是因为LIBCD.lib文件被更改了.要解决问题的话,只要在链接设置那里忽略它就没问题了。 解决办法是: …

TVDI计算流程

TVDI计算过程 下载数据的网站: https://ladsweb.modaps.eosdis.nasa.gov/search/ 所需数据modis的16天的ndvi数据(MOD13A2)和每8天的LST数据(MOD11A2) 北半球选择Terra,南半前选择Aqua,因为两个卫星旋转是相对的,太阳高度角不同,会有些许误差 利用modis处理工具(MRT)…

LSGO软件技术团队2015~2016学年第十二周(1116~1122)总结

团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统;研究方向为大数据处理与机器学习。成立几年来为学校…

POSIX定时器

最强大的定时器接口来自POSIX时钟系列,其创建、初始化以及删除一个定时器的行动被分为三个不同的函数:timer_create()(创建定时器)、timer_settime()(初始化定时器)以及timer_delete(销毁它)。 创建一个定时器: int timer_create(clockid_t …

python append函数_让你python代码更快的3个小技巧!速度提高了一倍还多

大家好!今天呢,我们来聊一聊如何加速你的 python 代码。Python 语言的优点可以列举出许多,语法简单易懂、模块丰富、应用广泛等等。但是世界上没有有完美的东西,python 一个明显缺点就是运行速度慢,至少跟 C 语言没法比…

扣扣保镖我喜欢

扣-扣-保-镖还是挺好用的,上次360召回之后,网上的下载链接都失效了,不过今天偶然发现我的硬盘上还有一份。。就打开试试,结果没事的哈。 qq版本:qq2010正式版 sp2.1(1861) 趣盘下载地址:http://oskycar.qup…

栅格计算面积

1.进行栅格重分类 2.重分类 3.打开属性,查看像元大小 4.打开属性表 5.添加字段 6.打开字段计算器 7.计算结果如下(单位一般为平方米)

autotools使用

Makefile固然可以帮助make完成它的使命,但要承认的是,编写Makefile确实不是一件轻松的事,尤其对于一个较大的项目而言更是如此。那么,有没有一种轻松的手段生成Makefile而同时又能让我们享受make的优越性呢?本节要讲au…

LSGO软件技术团队2015~2016学年第十三周(1123~1129)总结

团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统;研究方向为大数据处理与机器学习。成立几年来为学校…

[转]揭开正则表达式的神秘面纱

揭开正则表达式的神秘面纱关闭高亮[原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref.htm]引言正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符…

智能机器人及其应用ppt课件_一文了解!伺服系统机理及其在工业机器人等领域的应用...

更多,更及时的干货内容,请加我们的微信公众号:wc_sfdj诚邀业内人士及机构向我们投稿,投稿有礼投稿邮箱:tougao51wctt.com来源 | 网络欢迎阅读本篇文章,文末有福利哦!(一)伺服系统综述1、伺服运动…

利用python爬取房价

​公众号二维码 爬取房价网站:(安居客)https://zb.fang.anjuke.com/loupan/all/ 由于该网站每隔一段时间需要进行验证(反爬虫),所以我们为了防止我们爬取信息的时候出现间断,所以需要借助execl来保证信息的连续性。 结果展示

Linux编程make命令

摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高了系统的可维护性,但由于各个模块间不可避免存在关联,所以当一个模块改动后,其他模块也许会有所更新,当然对小系统来说,手工编译…

python 计算订单_python实现apriori算法的关联规则之支持度、置信度、提升度

Apriori算法的简介 Apriori算法:使用候选项集找频繁项集 Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集…