目录
前言
一、Appsesigner初步入门
(一)Appsesigner简介
(二)功能布局
二、常用组件
(一)基础知识
(二)实际操作
1.HTML
2.下拉框
3.切换按钮组
4.列表框
5.单选按钮组
6.图像
7.坐标区
8.复选框
9.微调器
10.按钮
11.文本区域、标签、日期选择器
12.树(复选框)
13.滑块
14.状态按钮
15.编辑字段(数值/文本)
16.表
17.超链接
18.指示灯
总结
前言
本博客简单介绍了Appdesigner的概念以及工具界面,同时针对常用的组件进行了介绍,读者可以根据博客内容对该工具有一个初步的认识和理解,同时在实际操作过程中可以对照文章查看每个组件的使用方法以及回调函数编写方法。
一、Appsesigner初步入门
(一)Appsesigner简介
Appdesigner是开发基于MATLB程序软件的App开发工具,是GUI的一种替代方案,将逐步替代GUI,因此掌握Appdesigner的使用是一项必备技能。采用面向对象的方式进行编写;各个组件的代码自动生成,用户可以根据需求添加各种组件,并修改组件的回调函数以及属性等就可以实现各种功能。
(二)功能布局
在MATLB中打开Appdesigner的界面,点击设计App,如下图所示。
点击之后会出现以下界面,点击空白App,系统会新建一个.mlpp工程。
之后系统进入以下页面,为软件的设计和开发界面。
组件库包含了常用的所有组件,读者可以通过拖拽的方式将其放置到软件界面设计区域进行界面的设计编辑;软件界面设计区域主要是完成软件界面中组件的排列分布,使其更加美观和整齐;组件属性编辑区域主要是针对各种组件的属性进行更加详细的编辑,不同的组件其具体的属性不相同,读者可以自行探索;顶部编辑区域会随着设计界面的切换发生改变,在当前界面主要的作用就是保存、运行程序以及编辑对齐组件等,在切换至代码试图界面时,将变为程序的编辑器,如下图所示。
二、常用组件
(一)基础知识
组件库中包含了各种各样的组件,对于组件的编辑主要有两个内容,一个内容是组件属性的编辑,这里不做过多的详细介绍,读者可以在实际操作过程中自行体会,仅需要点击组件并在右侧的软件属性编辑区进行编辑即可;另一个内容为组件回调函数的添加,组件添加回调函数之后,当用户触发组件的对应事件时候,系统会执行相应的程序,本节将讲述一些常用组件的作用以及回调函数的添加方法,后续会根据需要补充一些其他组件使用方法总结。
(二)实际操作
1.HTML
HTML的作用主要是显示嵌入式的HTML文件,可以实现软件界面的美化或者拓展相应的功能。具体的应用可以参考以下链接。
matlab appdesigner系列-常用1-HTMLhttps://blog.csdn.net/weixin_44247155/article/details/135599302
2.下拉框
下拉框主要用于用户选择相应选项,左侧为下拉框的文本编辑区域,右侧为下拉列表,列表的选项可以在组件属性编辑区域进行修改。其对应的回调函数为:
value = app.t18.Value;
switch value
case'1'
%对应内容程序
case'2'
%对应内容程序
case'3'
%对应内容程序
end
3.切换按钮组
切换按钮组的默认层数为3层,回调函数将依据选择的按钮不同,执行不同的程序,不同状态按钮的定义在组件属性编辑区。
selecte = app.ButtonGroup.SelectedObject;
switch selecte.Text
case '1层'
%对应程序内容
case '2层'
%对应程序内容
case '3层'
%对应程序内容
end
4.列表框
列边框显示了不同选项,回调函数中根据你选择的文本内容执行不同的程序。对应的回调函数为:
value = app.ListBox.Value;
switch value
case '1'
%对应程序内容
case '2'
%对应程序内容
case '3'
%对应程序内容
end
5.单选按钮组
单选按钮组是用于状态选择的组件,回调函数依据选择的文本内容执行不同的程序。对应的回调函数为:
selecte = app.ButtonGroup.SelectedObject;
switch selecte.Text
case '1层'
%对应程序内容
case '2层'
%对应程序内容
case '3层'
%对应程序内容
end
6.图像
图像可以用来美化软件界面,组件编辑区域可以导入外部的图片,导入的图片可以用作背景或者局部的修饰图片。
7.坐标区
坐标区主要用于显示绘制的图像,将组件拖拽到软件设计界面之后,可以通过右侧的组件属性编辑区修改图像的标题、网格、坐标轴、字体、颜色等属性,并且需要特别注意的一点是在编写绘图程序时,对应的程序语句必须指明是在那个坐标区执行命令。对应的绘图指令为:
%绘图
plot(app.UIAxes,X,Y);
%app.UIAxes表示坐标区,前面必须加app.用于索引坐标区
如果需要在坐标区继续绘制图像,对应的程序为:
%继续绘图
hold(app.UIAxes,'on');
8.复选框
复选框是用来判断用户是否勾选了此选项,对应的回调函数为:
value = app.CheckBox.Value;
if value==1
%执行对应程序
end
9.微调器
微调器用来细微调整某些参数的数值,拓展应用可以用来调整颜色等。微调器的默认值、步长、变化范围可以在组件属性编辑区域进行编辑,对应的回调函数为:
function SpinnerValueChanging(app, event)
changingValue = event.Value;
%根据需求编写不同程序
end
10.按钮
按钮的作用是点击后开始执行相应的程序,可以直接添加回调函数,这样就可以直接执行对应的程序。
11.文本区域、标签、日期选择器
文本区域可以用于显示大段文字,也可以用于显示计算近程,对应的回调函数为:
app.TextArea.Value='计算进度10%';
标签用来编辑静态文本,可以在右侧的组件属性编辑区更改字体、大小、颜色等属性。
日期选择器用来显示时间,用户可以通过鼠标选择对应的日期,同时可将选择的日期传递给其他的组件,对应回调函数为:
value = app.DatePicker.Value;
12.树(复选框)
其本质就时多个复选框组成的组件,分为主节点和子节点。可以在右侧组件属性编辑区或者软件设计界面直接添加或者删除节点。此组件主要包含两个回调函数, CheckedNodesChangedFcn属性指定当用户选中或取消选中树中的节点时要执行的函数。SelectedNodesChangedFcn 属性指定当用户选择树中的节点时要执行的函数。主要用到的属性为Nodedata以及Text属性,在初始定义时,给每个选型定义一个数值,最后根据Check函数的Nodedata结果来判断是否执行对应的回调函数。
checkedNodes = app.Tree.CheckedNodes;
if isempty(checkedNodes)
app.TextArea.Value = '0';%没有任何复选框被选中
else
app.TextArea.Value = num2str([checkedNodes.NodeData]); %选中复选框的值数组
end
13.滑块
滑块的作用与微调器类似,用户可以通过滑动组件的方式对参数的数值进行调节,其步长、取值范围同样可以在组件编辑区进行修改,对应的回调函数为:
function SliderValueChanging(app, event)
SliderValue=event.Value;
end
14.状态按钮
状态按钮一共存在两个状态,按下时为‘1’,未按下的状态为‘0’。对应回调函数为:
value = app.Button4.Value;
if value == 1
%对应程序
elseif value == 0
%对应程序
end
15.编辑字段(数值/文本)
该组件主要用于显示或者输出参数,数值编辑字段输入输出的数据为数值格式,文本编辑字段输入输出的数据格式为文本格式,用户可以根据数据类型自行定义对应的组件。对应程序为:
%根据数据类型不同选择文本或者数值编辑字段
%获取输入
value = app.EditField.Value;
%输出显示
app.EditField.Value = ‘显示的数据’ ;
16.表
主要用来显示数据,也可以用来显示excel中的表格,对应回调函数为:
app.UITable.Data=readtable("data.xlsx");
17.超链接
超链接可以添加外部网页链接或者外部的matlab文件链接,均可在网页的右侧组件编辑区域进行编辑。
18.指示灯
指示灯可以用来显示程序运行近程,例如在程序开始和结束部分定义指示灯的两种不同颜色,可以指示程序的运行状态,对应的定义语句为:
app.Lamp.Color = 'r';%程序开始
%程序主体
app.Lamp.Color = 'g';%程序结束
总结
本文针对Appdesigner进行了简单介绍,并针对常用组件的调用方法进行了总结,但是目前仅仅介绍了部分组件,后续会进行补充总结。