MATLAB app designer GUI设计

利用MATLAB app designer进行GUI程序设计入门级问题汇总
(我的课题是基于malthus和logistic模型的人口预测程序)

文章目录

  • 1.文章内容概述
  • 2.简单回调、获取组件上数值或状态
    • 2.1 组件回调
    • 2.2 获取组件数值
    • 2.3 改变组件大小,字体
  • 3.msgbox对话框显示文本示例
    • 3.1 各种基础类型对话框
    • 3.2 msgbox类型的对话框
  • 4.全局变量
  • 5.如何打包exe二进制文件
  • 6.app designer成员函数调用脚本函数
  • 7.对app designer的几点看法

1.文章内容概述

内容: 利用matlab app designer进行GUI设计时的常见入门级问题汇总。
超级详细,简单,良心,全面的汇总!!
目的: 新手快速上手app designer的GUI程序设计。
目前csdn等平台上关于这方面的东西说得很少,所以有些资料或问题查起来十分的麻烦,而且容易查不到。

2.简单回调、获取组件上数值或状态

2.1 组件回调

matlab控件回调类似于基于C++的开发框架Qt中的“槽”(plot)的概念和功能,都是为了实现用户操控gui控件时触发的一系列反馈。
matlab中只需要从左方添加控件,然后右击控件-回调-添加回调函数,即可添加为控件添加“槽”。然后会自动跳转到代码视图对该控件内部的代码实现部分,即可进行编程处理。
MATLAB app designer GUI设计_第1张图片

2.2 获取组件数值

1.先添加控件,然后转到回调函数。
2.在回调函数中获取控件当前数值。
MATLAB app designer GUI设计_第2张图片
上面是一些常用的基础操作示例。

2.3 改变组件大小,字体

添加控件后点击控件即可在右侧property属性栏更改组件属性。
MATLAB app designer GUI设计_第3张图片

3.msgbox对话框显示文本示例

3.1 各种基础类型对话框

MATLAB app designer GUI设计_第4张图片
可以根据用户的具体操作使用不同的基础类型对话框,使用的格式已经给出,这几种的格式都是相同的。

3.2 msgbox类型的对话框

  • 单行对话框:
    5
    最后的help,error,warn等可以更改msgbox显示时的图标。
  • 自定义对话框图标icon

当然你也可以自定义对话框图标,怎么定义呢?
MATLAB app designer GUI设计_第5张图片
注意事项:如果图片路径与当前项目路径一致则不需要指定盘符等具体位置信息,若在其它盘符则需要详细指定。

  • 对话框显示多行文本

可能你的对话框需要显示较多的信息(比如软件的help等帮助信息),怎么办呢?
MATLAB app designer GUI设计_第6张图片

4.全局变量

用惯了c语言和c++的我对此感到非常的不适应,最初我选择static关键字,发现显然matlab中的static已经不再是我想象中的用法。
那么matlab中的全局变量怎么定义?
用关键字:global声明即可
这样我们就可以实现多个函数间共享某些数据而不需要重复的去计算。

5.如何打包exe二进制文件

1.离开app designer来到matlab命令行界面
2.输入deploytoo命令
MATLAB app designer GUI设计_第7张图片
3.添加.mlapp文件
只需要添加.mlapp即可,其他文件会自动识别
MATLAB app designer GUI设计_第8张图片
4.然后我们指定路径进行打包即可

6.app designer成员函数调用脚本函数

步骤:
1.在matlab命令行窗口新建脚本函数,并进行编写实现一定功能(注意:matlab中函数的名字必须与该函数所在的文件名一致,否则会导致调用失败!!)
2.在app designer成员函数中直接根据函数名进行调用即可,无需其他的操作。
示例:
我的脚本函数文件如下:
MATLAB app designer GUI设计_第9张图片
app designer中调用过程:
MATLAB app designer GUI设计_第10张图片

7.对app designer的几点看法

目前GUI设计我还只用过Qt和这个app designer。刚开始上手可能有点懵,不太清楚app designer中各个组件之间的布局关系以及如何调用。其实答案是:app designer与qt可以说非常相似。
qt中设计的主结构是围绕类的各种成员函数以及继承等关系来构建的,其实app designer中也一样,同样存在类,而且组件的调用方式也和c++和qt相同(就是类成员函数的调用方式)。而在Qt中的一个很重要的概念“槽”则被替换成了“回调”,虽然说法不同,但实现原理还是差不多的,明白了这些相信你就能很快上手matlab app designer对GUI的设计。
MATLAB官网www.mathworks.com,上面的file exchange分区有很多大佬传的项目,可以下载来玩儿玩儿学习学习。查询常见问题或者函数用法都是很好的选择~

你可能感兴趣的:(MATLAB学习)