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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在VRML 3D场景插入GUI-HCI(图形用户界面-人机交互)可以通过MATLAB来实现。MATLAB是一款强大的数学软件,它也可以用于图像处理、计算机图形学和人机交互等领域。 首先,我们可以使用MATLAB的vrmlwrite函数来创建VRML 3D场景。通过使用该函数,我们可以创建一个包含各种对象和几何体的3D场景。可以将各种物体、光源和相机等元素添加到场景。 其次,我们可以使用MATLABGUIDE(GUI Development Environment)来创建GUIGUIDE提供了一种可视化的方式来创建各种界面元素,例如按钮、滑块、文本框等。我们可以使用GUIDE创建一个具有人机交互功能的GUI。 然后,我们需要将MATLABGUI与VRML 3D场景进行链接。可以通过在MATLAB使用事件处理函数来实现。例如,当用户在GUI上点击按钮时,我们可以编写一个事件处理函数来响应该事件,并在VRML场景执行相应的操作。这样,用户就可以通过GUI与VRML场景进行交互。 最后,我们可以使用MATLAB的vrview函数来显示VRML 3D场景和GUI。vrview函数可以将VRML场景和MATLAB创建的GUI结合在一起,显示在MATLAB的图形窗口。这样,用户就可以通过GUI与VRML场景进行交互,并实时观察场景的变化。 总而言之,通过MATLAB,我们可以在VRML 3D场景插入GUI-HCI人机交互。利用MATLAB的vrmlwrite函数创建VRML场景,使用GUIDE创建GUI,通过事件处理函数进行交互,并通过vrview函数将场景和GUI显示在MATLAB图形窗口。这样,我们可以实现一个具有人机交互功能的VRML 3D场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值