MATLAB 응용 프로그램 디자이너 신인 고급 학습 (A)

A, 앱 디자이너 시작

1.

(1) 열기 홈 앱 디자인 도구

appdesigner

(2) 열려면 기존 파일 앱을

appdesigner (파일 이름)

파일 이름:

  문자열 스칼라 또는 벡터로 지정된 응용 프로그램 파일 이름이나 경로. 당신은 파일 이름에 포함 할 수있다  .mlapp. 당신은 단지에 파일 이름을 전달할 수있는  appdesigner 기능.

  당신이 경우  filename 여러 폴더의 검색 경로에 표시되는 파일의 경로를 포함한다. 파일 스펙은 파일, 또는 MATLAB 경로에 파일 이름의 전체 경로 또는 상대 경로를 사용해야합니다.

    예 : appdesigner('app1.mlapp')

    예 : appdesigner("app1")

    예 : appdesigner("C:\Documents\Data\watertables.mlapp")

(3) 메뉴 바 열

  새로운 --App

2. 홈

  당신은 홈 앱에 새로운 빈을 만들거나 새로운 기능이 자동으로 두 컬럼의 레이아웃을 조정 또는 열이 세 가지 유형의 응용 프로그램을 수행 할 수 있습니다 :

  • 최근에 사용의 응용 프로그램은 목록을 볼 수 있습니다.

  • 도움에 기능을 갖춘 예를 탐색하여 시작.

  • 기초에게 앱 디자인 도구를 배울 수있는 튜토리얼을 참조.

  • 앱 디자인 탐사 도구 튜토리얼은 새로운 기능에 초점을 맞추고 있습니다.

 

둘째, 제어

2.1 공통 구성 요소

 

2.1.1 드롭 다운 상자

  직접 드래그 앤 드롭, 그러나 여기에서 만드는 억압 프로그램과 편집 모드에 추가.

(1) 자동 드롭 다운 상자를 생성

  이 프로그램은 자동으로 프로젝트의 드롭 다운 구성 요소는 기본을 가지고 만듭니다.

도 = uifigure; 
DD = uidropdown (도);

(2) 프로그램 드롭 다운 성분 특정 항목을 생성한다.

도 = uifigure; 
DD = uidropdown (그림, '항목', { '레드', '노란색', '블루', '녹색'}, ... 
                     '값', '블루');

(3) 편집 드롭 다운 목록을 만들 수 있습니다

도 = uifigure; 
DD = uidropdown (도 'ON', '가능한');

(4) 속성

값 - 값 
항목 요소 | ItemsData 요소

  이 값 지정  Items 또는  ItemsData 어레이 소자. 기본적으로 Value 그 것이다  Items 첫 번째 요소.

  할 것인가  Value 로 지정된  Items 요소, 당신은 요소와 일치 드롭 다운 항목을 선택할 수 있습니다. 경우  ItemsData 비어 있지 Value 않은,으로 설정되어  ItemsData 요소지만, 드롭 다운 목록은 목록에서 관련 항목을 선택합니다.

항목 - 드롭 다운 
{ '옵션 1', '옵션 2', '옵션 3', '옵션 4'} ( 기본값) | 셀룰러 문자 벡터 배열 | 문자열 배열 | ...

  드롭, 지정된 문자 벡터 셀 어레이 스트링 또는 1 차원 배열 분류 어레이. 중복 요소를 허용. 옵션 풀다운 성분 디스플레이  Items 배열의 요소의 수만큼. 이 분류의 배열로이 속성을 지정하는 경우, MATLAB® 대신 카테고리의 전체 집합, 배열의 값을 사용합니다.

ItemsData - 요소 데이터의 각각의 속성 값과 연관된 항목 
빈 배열 ([]) (기본값) | 1 × N 배열 값 | 1 × N 어레이 휴대

  그리고  Items 각각의 속성 값과 연관된 데이터 요소는, 1 × N, N × 1 값의 배열 또는 셀룰러 배열로 지정. 중복 요소를 허용.

  당신은 예를 들어,  Items 직원의 이름 값을 설정을 할 수 있습니다  ItemsData 해당 직원 ID 번호의 값을 설정합니다. ItemsData 응용 프로그램은 사용자에게 표시 값이 아니다.

  는 IF  ItemsData 의 값  Items 배열 요소 값의 수가 일치하지 않는, 다음 중 하나가 발생합니다

  • 는 IF  ItemsData 값이 비어,  Items 모든 요소 값은 사용자 응용 프로그램에 제공됩니다.

  • 상기 중간  ItemsData 값의 요소의 수보다 큰  Items 값을,  Items 모든 요소 값은 사용자 애플리케이션에 제공된다. MATLAB은 추가 무시  ItemsData 요소를.

  • 하면  ItemsData 널이 아닌 값 미만의 원소 개수보다  Items 에서만 값  ItemsData 의 값에 대응하는 요소를 갖는  Items 요소 값을 사용자 응용 프로그램으로 제공된다.

글꼴 및 색상 (약간)
상호 작용

 Visible 속성 드롭 다운 구성 요소가 화면에 표시 여부를 결정합니다. 경우  Visible 속성을 설정  'off', 드롭 다운 구성 요소가 숨겨져하지만 여전히 접근 가능하고 해당 속성을 지정할 수 있습니다. 앱이 설정 필요성의 모든 구성 요소는 시작에 존재하지, 빨리 시작하기 위해  Visible 집합 속성입니다  'off'.

  편집 가능한 속성 값  입니다  사용자도 편집 가능한 속성 값은 드롭 다운 조립 앱 텍스트를 변경할 수 없습니다,   사실이다.'on',则下拉组件文本可更改;当Enable 'off''on'

     속성을 사용

  • 이 속성 값을 설정하면  'on', 앱 사용자를 나타냅니다 드롭 다운 구성 요소의 모양 드롭 다운 구성 요소 값을 변경할 수 있습니다.

  • 이 속성 값을 설정하면  'off', 드롭 다운 구성 요소의 모양은 회색. 이 앱 사용자가 드롭 다운 구성 요소 값의 모양을 변경하고 드롭 다운 구성 요소 어떤 콜백을 트리거하지 않을 수 없습니다 나타냅니다.

  tooltips  工具提示,指定为字符向量、字符向量元胞数组、字符串数组或一维分类数组。如果使用此属性,则在运行时当用户将指针悬停在组件上时,将显示消息。即使禁用组件,工具提示也会显示。要显示多行文本,请指定字符向量元胞数组或字符串数组。数组中的每个元素变为一行文本。如果将此属性指定为分类数组,MATLAB 将使用数组中的值,而不是完整的类别集。

回调属性

Interruptible - 回调中断
'on' (默认) | 'off'

  回调中断,指定为 'on' 或 'off'Interruptible 属性确定是否可以中断运行中回调。

  有以下两种回调状态要考虑:

  • 运行中回调是当前正在执行的回调。

  • 中断回调是试图中断运行中回调的回调。

  每当 MATLAB 调用回调时,回调都会试图中断正在运行的回调(如果存在)。运行中回调所属对象的 Interruptible 属性决定着是否允许中断。Interruptible 属性具有下列两个可能的值:

  • 'on' - 允许其他回调中断对象的回调。中断发生在 MATLAB 处理队列的下一个位置,例如当存在 drawnowfigureuifiguregetframewaitfor 或 pause 命令时。

    • 如果运行中回调包含以上命令之一,则 MATLAB 将在该时刻停止执行回调并执行中断回调。当中断回调完成时,MATLAB 将恢复执行运行中回调。

    • 如果运行中回调不包含以上命令之一,则 MATLAB 执行完当前回调,不会出现任何中断;

  • 'off' - 阻止所有中断尝试。由中断回调所属的对象的 BusyAction 属性决定是放弃该中断回调还是将其放入队列中。

usyAction - 回调排队
'queue' (默认) | 'cancel'

回调排队,指定为 'queue' 或 'cancel'BusyAction 属性决定 MATLAB 如何处理中断回调的执行。有以下两种回调状态要考虑:

  • 运行中回调是当前正在执行的回调。

  • 中断回调是试图中断运行中回调的回调。

无论何时 MATLAB 调用回调,该回调都会试图中断运行中回调。运行中回调所属对象的 Interruptible 属性决定着是否允许中断。如果不允许中断,则中断回调所属对象的属性 BusyAction 将决定是放弃该回调还是将回调放入队列中。以下是 BusyAction 属性的可能值:

  • 'queue' - 将中断回调放入队列中,以便在运行中回调执行完毕后进行处理。

  • 'cancel' - 不执行中断回调。

HandleVisibility - 对象句柄的可见性
'on' (默认) | 'callback' | 'off'

 对象句柄的可见性,指定为 'on''callback' 或 'off'

  此属性控制对象在其父级的子级列表中的可见性。当对象未显示在其父级的子级列表中时,通过搜索对象层次结构或查询属性来获取对象的函数不会返回该对象。这些函数包括 getfindobjclf 和 close。对象即使在不可见时也有效。如果可以访问某个对象,则可以设置和获取其属性,并将其传递给针对对象进行运算的任意函数。

 

 

 

(6)示例

  将以下代码保存到 MATLAB 路径中的 plotOptions.m 中。以下代码将创建一个窗口,其中包含一个绘图和一个下拉组件。当 App 用户更改下拉组件选择时,ValueChangedFcn 回调将改变绘图的颜色。

function plotOptions
fig = uifigure; 
fig.Position(3:4) = [440 320];

ax = uiaxes('Parent',fig,...
    'Position',[10 10 300 300]);

x = linspace(-2*pi,2*pi);
y = sin(x);
p = plot(ax,x,y);
p.Color = 'Blue';

dd = uidropdown(fig,...
    'Position',[320 160 100 22],...
    'Items',{'Red','Yellow','Blue','Green'},...
    'Value','Blue',...
    'ValueChangedFcn',@(dd,event) selection(dd,p));
end

% Create ValueChangedFcn callback:
function selection(dd,p)
val = dd.Value;
p.Color = val;
end

  

  创建一个下拉组件和一个信号灯。当 App 用户从下拉组件中选择选项时,信号灯的大小将改变。

  请将以下代码保存到 MATLAB 路径中的 lampSize.m 中。以下代码将创建一个图窗窗口,其中包含一个下拉组件和一个信号灯。当 App 用户更改下拉组件选项时,ValueChangedFcn 回调将改变信号灯的大小。

function lampSize
% Create figure and components

fig = uifigure('Position',[100 100 300 275]);

lmp = uilamp(fig,...
    'Position',[100 30 20 20]);

dd = uidropdown(fig,...
    'Editable','on',...
    'Position',[84 204 100 20],...
    'Items',{'Size x 1','Size x 2','Size x 3','Size x 4'},...
    'ItemsData',[1 2 3 4],...
    'Value',1,...
    'ValueChangedFcn',@(dd,event) optionSelected(dd,lmp));
end

% Create ValueChangedFcn callback
function optionSelected(dd,lmp)
val = dd.Value;
s = [20 20];
switch val
    case {1, 2, 3, 4}  % User selected a defined option
        size = val * s;
        lmp.Position(3:4) = size;
    otherwise % User typed a value
        m = str2num(val);
        size = m * s;
        lmp.Position(3:4) = size;
end
end

(7)其他

下拉框控件的值 Value返回的是字符串,为了使返回值变为数值型,直接用于数值运算,可以采用语句:

value=str2double(app.XX.value)

  

 

추천

출처www.cnblogs.com/Sonny-xby/p/12614903.html