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列のレイアウトを調整したり、列は3種類のアプリケーションを持って、次のことができます。

  • 最近使用したのリストを表示するアプリ。

  • ヘルプにおすすめの例を探検始めます。

  • 基本的にアプリの設計ツールを学ぶためのチュートリアルを参照します。

  • アプリの設計探査ツールのチュートリアルでは、新機能に焦点を当てています。

 

第二に、コントロール

2.1共通コンポーネント

 

2.1.1ドロップダウンボックス

  直接ドラッグ&ドロップが、ここで作成するために、抑圧プログラムと編集モードに加えて。

(1)は自動的にドロップダウンボックスを生成します

  プログラムは自動的にプロジェクトのドロップダウンコンポーネントがデフォルトを持って作成されます。

イチジク= uifigure。
DD = uidropdown(図)。

(2)プログラムは、ドロップダウンコンポーネント指定された項目を作成します。

イチジク= uifigure。
DD = uidropdown(図'アイテム'、{ '赤'、 '黄'、 '青'、 '緑'}、... 
                     '値'、 '青')。

(3)編集可能なドロップダウンリストを作成します

イチジク= uifigure。
DD = uidropdown(図'オン'、 '編集可能')。

(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 1×N個の値の配列または細胞配列として指定します。重複要素を許可します。

  あなたはたとえば、  Items 従業員の名前に値を設定し、次のことができ  ItemsData 、対応する従業員のID番号の値を設定します。ItemsData アプリケーションは、ユーザーの値には表示されません。

  場合  ItemsData の値が  Items 配列要素値の数が一致しない場合、次のいずれかが発生します。

  • 場合は  ItemsData 値が空白になって、  Items すべての要素の値は、ユーザーのアプリケーションに提示されています。

  • 場合  ItemsData 値の要素数よりも大きい  Items 値、  Items すべての要素の値は、ユーザアプリケーションに提示されます。MATLABは、余分無視する  ItemsData 要素を。

  • 場合  ItemsData 非ヌル値が、以下の要素の数よりも  Items 唯一の値、  ItemsData の値に対応する要素を有する  Items 要素の値をユーザアプリケーションに提示されます。

フォントおよび色(わずかに)
インタラクティビティ

 Visible プロパティは、ドロップダウンコンポーネントが画面上に表示するかどうかを決定します。場合  Visible プロパティが設定され  'off'、ドロップダウンコンポーネントが隠されているが、まだアクセスとそのプロパティを指定することができます。より速く起動すると、設定した必要性のすべてのコンポーネントが起動時に存在していないようにするアプリケーションの  Visible プロパティがセットです  'off'

  編集可能な属性値が  され  、ユーザーがドロップダウン組立アプリケーションのテキストを変更することはできません、でも編集可能な属性値が   真です。'on',则下拉组件文本可更改;当Enable 'off''on'

     プロパティを有効にします

  • このプロパティの値を設定する場合  'on'、ドロップダウンコンポーネントの外観は、Appユーザーがドロップダウンコンポーネントの値を変更できることを示します。

  • このプロパティの値を設定する場合  'off'、ドロップダウンコンポーネントの外観はグレー表示しました。これは、Appユーザーがドロップダウン部品の値の外観を変更できないことを示し、ドロップダウンコンポーネントは、任意のコールバックをトリガしません。

  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