面向对象的APP设计,在MATLAB中出现的不少。为了了解其中控件的使用,下面给出两种旋钮的一个实例。整个GUI包括一个绘图区和三个功能按钮,绘图主要是绘制简单的正弦曲线,旋钮1是调节周期的,旋钮2是调节相位的,旋钮3是调节绘图颜色的。整个GUI界面如图。
旋钮有两种形式,一种是数值型的旋钮,如周期、相位调节旋钮;一种是类别调整旋钮,如颜色调整旋钮。三个按钮被扭动后,都会调用回调函数。下面是旋钮的一些设置,视图设计比较方便。基本没有什么难度。
为了绘图方便,编写了一个统一的绘图函数,下面是运行的几个状态截图。
源码如下 (2018版运行)
classdef egKnob < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
Label matlab.ui.control.Label
Knob1 matlab.ui.control.Knob
KnobLabel matlab.ui.control.Label
Knob2 matlab.ui.control.Knob
UIAxes matlab.ui.control.U