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) 속성
글꼴 및 색상 (약간)
상호 작용
Visible
속성 드롭 다운 구성 요소가 화면에 표시 여부를 결정합니다. 경우 Visible
속성을 설정 'off'
, 드롭 다운 구성 요소가 숨겨져하지만 여전히 접근 가능하고 해당 속성을 지정할 수 있습니다. 앱이 설정 필요성의 모든 구성 요소는 시작에 존재하지, 빨리 시작하기 위해 Visible
집합 속성입니다 'off'
.
편집 가능한 속성 값 입니다 사용자도 편집 가능한 속성 값은 드롭 다운 조립 앱 텍스트를 변경할 수 없습니다, 사실이다.'on',则下拉组件文本可更改;当
Enable
'off'
'on'
속성을 사용
-
이 속성 값을 설정하면
'on'
, 앱 사용자를 나타냅니다 드롭 다운 구성 요소의 모양 드롭 다운 구성 요소 값을 변경할 수 있습니다. -
이 속성 값을 설정하면
'off'
, 드롭 다운 구성 요소의 모양은 회색. 이 앱 사용자가 드롭 다운 구성 요소 값의 모양을 변경하고 드롭 다운 구성 요소 어떤 콜백을 트리거하지 않을 수 없습니다 나타냅니다.
tooltips 工具提示,指定为字符向量、字符向量元胞数组、字符串数组或一维分类数组。如果使用此属性,则在运行时当用户将指针悬停在组件上时,将显示消息。即使禁用组件,工具提示也会显示。要显示多行文本,请指定字符向量元胞数组或字符串数组。数组中的每个元素变为一行文本。如果将此属性指定为分类数组,MATLAB 将使用数组中的值,而不是完整的类别集。
回调属性
Interruptible - 回调中断 'on' (默认) | 'off'
回调中断,指定为 'on'
或 'off'
。Interruptible
属性确定是否可以中断运行中回调。
有以下两种回调状态要考虑:
-
运行中回调是当前正在执行的回调。
-
中断回调是试图中断运行中回调的回调。
每当 MATLAB 调用回调时,回调都会试图中断正在运行的回调(如果存在)。运行中回调所属对象的 Interruptible
属性决定着是否允许中断。Interruptible
属性具有下列两个可能的值:
usyAction - 回调排队 'queue' (默认) | 'cancel'
回调排队,指定为 'queue'
或 'cancel'
。BusyAction
属性决定 MATLAB 如何处理中断回调的执行。有以下两种回调状态要考虑:
-
运行中回调是当前正在执行的回调。
-
中断回调是试图中断运行中回调的回调。
无论何时 MATLAB 调用回调,该回调都会试图中断运行中回调。运行中回调所属对象的 Interruptible
属性决定着是否允许中断。如果不允许中断,则中断回调所属对象的属性 BusyAction
将决定是放弃该回调还是将回调放入队列中。以下是 BusyAction
属性的可能值:
-
'queue'
- 将中断回调放入队列中,以便在运行中回调执行完毕后进行处理。 -
'cancel'
- 不执行中断回调。
HandleVisibility - 对象句柄的可见性 'on' (默认) | 'callback' | 'off'
对象句柄的可见性,指定为 'on'
、'callback'
或 'off'
。
此属性控制对象在其父级的子级列表中的可见性。当对象未显示在其父级的子级列表中时,通过搜索对象层次结构或查询属性来获取对象的函数不会返回该对象。这些函数包括 get
、findobj
、clf
和 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)