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

GUIDE の移行策

GUIDE はアプリ作成用の非推奨のドラッグ アンド ドロップ環境であり、App Designer に置き換えられています。GUIDE は将来のリリースで削除される予定です。

既存の GUIDE アプリは GUIDE が削除された後も引き続き MATLAB® で動作しますが、GUIDE のドラッグ アンド ドロップ環境を使用した編集はできなくなります。既存の GUIDE アプリの編集を続けつつ、将来の MATLAB リリースとの互換性を維持するには、次の表にリストされた推奨される移行策のいずれかを使用してください。

アプリ開発移行策移行のやり方
開発は頻繁に発生するか、進行中であるアプリを App Designer に移行mathworks.comMATLAB 対応の GUIDE から App Designer への移行ツールを使用
編集はごくまれに発生するか、ほとんど発生しないアプリを単一の MATLAB ファイルにエクスポートし、MATLAB 関数を使用してアプリ レイアウトとコードを管理GUIDE でアプリを開き、[ファイル][MATLAB ファイルにエクスポート] を選択

App Designer への GUIDE アプリの移行

App Designer は、MATLAB におけるアプリ構築のための推奨環境です。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 アプリ内でのデータの共有

GUIDE アプリで、actxcontrol などの関数を使用してサードパーティ コンポーネントが統合されている場合は、代わりに使用できる代替機能の詳細について、リリース ノートを参照してください。

単一の MATLAB ファイルへの GUIDE アプリのエクスポート

最小限の維持管理のみが必要な既存の GUIDE アプリがある場合は、そのアプリを単一の MATLAB ファイルにエクスポートすることで、プログラムにより引き続き編集することができます。アプリをエクスポートするには、アプリを GUIDE で開き、[ファイル][MATLAB ファイルにエクスポート] を選択します。

関連するトピック