ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

GUIDE アプリから App Designer への移行

App Designer はアプリ構築のための推奨環境です。GUIDE アプリ (GUI) を App Designer へ移行することによって、GUIDE では提供されない機能を活用できるようになります。たとえば、App Designer では以下が提供されます。

  • 強化された UI コンポーネント セットと設計環境

  • ロバストなプログラミング エディターとワークフロー

  • スタンドアロンのデスクトップや Web アプリを作成し共有する機能 (MATLAB® Compiler™ が必要)

GUIDE で開発した既存のアプリがある場合は、mathworks.com の「GUIDE to App Designer Migration Tool for MATLAB」を使用して、App Designer に移行させることを検討してください。

移行ツールの機能

移行ツールは、GUIDE の.fig ファイルを読み取り、等価な App Designer のコンポーネント、レイアウト、およびコードを .mlapp ファイル内に自動生成することによって、アプリの変換を助けます。この半自動のコード変換では、必要となり得る手動のコード更新に備えて次の手順を提案する、移行レポートも作成されます。ツールのいくつかの機能は以下の表で説明されています。

移行ツールの機能説明
ファイル変換GUIDE の .fig ファイルと関連コードを読み取り、App Designer の .mlapp ファイルを生成します。
コンポーネントとアプリ レイアウト
  • コンポーネントとプロパティ構成を App Designer の対応要素に変換する。

  • アプリのレイアウトを維持する。

コールバック コード
  • GUIDE コールバック コードのコピーとユーザー定義の関数を .mlapp ファイルに保持する。

  • 手動更新の提案を行う。

App Designer では、新しいコンポーネントとオブジェクト指向のコードが使用されます。旧来の GUIDE スタイルのコードでプログラムされた操作や動作は、App Designer スタイルのコードに手動で移行させる必要があります。

移行レポート
  • 移行ツールで正常に実行されたアクションをまとめる。

  • 制限やサポートされない機能を、対処方法 (ある場合) と共にリストする。

  • コールバックを更新して App Designer と互換性をもたせるための手順を提示する。

GUIDE コードから App Designer への移行の補助

App Designer と GUIDE では、コードの構造、コールバックの構文、そして UI コンポーネントへのアクセスとデータ共有のための手法に違いがあります。これらの相違を理解することは、コードの移行に際して有用です。次の表は、こうした相違のいくつかをまとめています。

相違点GUIDE App Designer詳細
Figure とグラフィックスの使用

GUIDE では、関数 figure を呼び出してアプリ ウィンドウを作成します。

GUIDE では、関数 axes を呼び出して、プロットを表示するための座標軸を作成します。

すべての MATLAB グラフィックス関数がサポートされています。ターゲットの座標軸を指定する必要はありません。

App Designer では、関数 uifigure を呼び出してアプリ ウィンドウを作成します。

App Designer では、関数 uiaxes を呼び出して、プロットを表示するための座標軸を作成します。

ほとんどの MATLAB グラフィックス関数がサポートされています。ターゲットの座標軸を指定しなければなりません。

App Designer でのグラフィックスの表示
コンポーネントの使用

GUIDE では、関数 uicontrol を使用してほとんどのコンポーネントを作成します。使用可能なコンポーネントは多くありません。

App Designer では、独自の専用関数を使ってそれぞれの UI コンポーネントを作成します。TreeGaugeTabGroupDatePicker など、より多くのコンポーネントが使用できます。

App Designer のコンポーネント
コンポーネントのプロパティへのアクセス

GUIDE では、setget を使用してコンポーネント プロパティにアクセスし、handles を使用してコンポーネントを指定します。

例:
name = get(handles.Fig,'Name')

App Designer では setget がサポートされていますが、コンポーネント プロパティへのアクセスにはドット表記の使用が推奨され、コンポーネントの指定には app を使用します。

例:
name = app.UIFigure.Name

App Designer でコールバックを記述する
アプリ コードの管理

コードは、ローカル関数を呼び出すことのできるメイン関数として定義されます。すべてのコードが編集可能です。

コードは MATLAB クラスとして定義されています。コールバック、補助関数およびカスタム プロパティのみが編集可能です。

App Designer コード ビューでのコードの管理
コールバックの作成

コールバックで必須の入力引数は、handleshObject、および eventdata です。

例:
myCallback(hObject,evendata,handles)

コールバックで必須の入力引数は、app および event です。

例:
myCallback(app,event)

App Designer でコールバックを記述する
データの共有

コールバックと関数の間でデータの保管と共有を行うには、UserData プロパティ、handles 構造体、関数 guidata、関数 setappdata、または関数 getappdata を使用します。

例:
handles.currSelection = selection;
guidata(hObject,handles);

コールバックと関数の間でデータの保管と共有を行うには、カスタム プロパティを使用して変数を作成します。

例:
app.currSelection = selection

App Designer アプリ内でのデータの共有

関連するトピック