软件环境
软件版本是matlab2019b,App Designer是matlab2016a以后的版本中才有的模块。
组件的使用
主窗口UIFigure
Position:(x,y,width,height),相对于父容器左下角的位置。
窗口加载时居中:
进入主窗口启动函数回调
function startupFcn(app) screen=get(0,"ScreenSize");%获取屏幕尺寸,返回(1,1,width,height) screenX=(screen(3)-1200)/2;%窗体左下角X坐标 screenY=(screen(4)-720)/2;%窗体左下角Y坐标 app.UIFigure.Position=[screenX,screenY,1200,720];%窗体位置,宽1200px,高720px %还可以进行其他界面组件属性的初始化 end
关闭主窗口时增加确认提示
function UIFigureCloseRequest(app, event) result=questdlg("确定退出?","提示","是","否","是"); if result==\'是\' delete(app); end end
面板Panel
多个小的组件可以放在一个面板中,方便移动。
面板组TabGroup
借助按钮等控件实现面板跳转 ,例如想通过一个按钮从当前的所在的Tab跳转到Tab2中
function ButtonValueChanged(app, event) app.TabGroup.SelectedTab=app.Tab2; end
文本框TextArea、数值/文本框EditField
需要输入数值时优先使用数值框。
文本框中,改变标签上的字符串:app.TextAreaLabel.Text、app.EditFieldLabel.Text
改变值:app.TextAreaLabel.Value、app.EditFieldLabel.Value
标签Label
app.Label.Text
按钮Button
可以为按钮增加图标
需要注意的是,需要加入图片文件所在路径
这里推荐一个阿里的图标素材网站:
下拉框DropDown
app.DropDown.Value值为当前选项的值,为字符串,如果是数值型的值,可以使用eval()或str2double()将字符串类型转换为数值。
app.DropDown.Items和app.DropDown.ItemsData相对应,一般不需要改变。
单选按钮组
app.ButtonGroup.SelectedObject.Value取到所选按钮的值,0(false)或1(true)
复选框
app.CheckBox2.Value取到所选按钮的值,0(false)或1(true)
列表框ListBox
列表框的单选、多选
Multiselect
可以不使用其ItemsData属性,只使用Items属性
实现Items属性插入、排序、删除
新增元素
app.ListBox.Items=[app.ListBox.Items,num2str(num)];
排序:
app.ListBox.Items=string(sort(str2double(app.ListBox.Items),"descend"));%降序
app.ListBox.Items=string(sort(str2double(app.ListBox.Items),"ascend"));%升序
删除
如果有ItemsData属性
value=app.ListBox.Value; for n=length(app.ListBox.ItemsData):-1:1 if value==app.ListBox.ItemsData{n} app.ListBox.ItemsData(n)=[]; app.ListBox.Items=string(app.ListBox.ItemsData); break; end end
如果只用了Items,需要做数据类型的转换,逻辑相同。
请发表评论