matlab的App designer使用

时间:2024-03-12 12:37:36

软件环境

  软件版本是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

  可以为按钮增加图标

   

   需要注意的是,需要加入图片文件所在路径

 

  这里推荐一个阿里的图标素材网站:

   https://www.iconfont.cn/

下拉框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,需要做数据类型的转换,逻辑相同。

坐标区UIAxes

表格UITable

应用打包

打包成扩展包

打包成exe可执行文件

打包后应用的使用

   扩展包的使用

   exe文件的使用