アプリの作成方法
MATLAB® を使用して、さまざまな環境に統合できる対話型ユーザー インターフェイスを作成できます。次の 2 種類のユーザー インターフェイスを作成できます。
アプリ — ユーザーの操作に基づいて操作を処理する自己完結型のインターフェイス
ライブ エディター タスク — ライブ スクリプトに組み込むことができ、ユーザーがパラメーターを確認する際にコードを生成するインターフェイス
これらのインターフェイスの作成方法や共有方法、およびインターフェイスのメイン ファイルの種類は、インターフェイスの種類によって異なります。次の表に違いを示します。
種類 | 作成方法 | ファイルの種類 | 共有オプション |
---|---|---|---|
アプリ | App Designer を使用して対話的に作成 | .mlapp |
|
MATLAB 関数を使用してプログラムにより作成 | .m (MATLAB スクリプト、関数、またはクラス ファイル) |
| |
ライブ エディター タスク | matlab.task.LiveTask 基底クラスを使用してプログラムにより作成するか、コードと対話型コントロールを含むライブ エディターで選択項目を変換して作成 | .m (MATLAB クラス ファイル) |
|
アプリの作成
自己完結型のユーザー インターフェイスを作成するには、アプリを作成します。アプリは複数の方法で作成できます。
App Designer を使用して対話的に作成
MATLAB 関数を使用してプログラムにより作成
これらの各アプローチでは、ワークフローが異なり、機能セットもわずかに異なっています。最適な選択肢は、プロジェクトの要件とどのように作業するかによって異なります。
App Designer を使用した対話形式によるアプリの作成
App Designer は、R2016a で導入された機能豊富な対話型環境であり、MATLAB でのアプリ作成に推奨される環境です。完全に統合されたバージョンの MATLAB エディターが含まれています。レイアウト設計ビューとコード ビューは、一方のビューに加えた変更が即時にもう一方に反映されるように、緊密に連携しています。日付ピッカー、ツリー、イメージのコンポーネントなど、対話型コンポーネントのより大きなセットが利用できます。また、スクリーン サイズの変更をアプリが検出し、それに適応するためのグリッド レイアウト マネージャーや自動リフロー オプションなどの機能も備わっています。詳細については、App Designer を使用したアプリ開発を参照してください。
MATLAB 関数を使用したプログラムによるアプリの作成
MATLAB 関数を使用して、アプリ全体のレイアウトと動作をコーディングすることもできます。このアプローチでは、関数 uifigure
または関数 figure
を使用して、UI のコンテナーとして機能する Figure を作成します。次に、プログラムによりコンポーネントを追加します。Figure の各タイプは、異なるコンポーネントおよびプロパティをサポートします。関数 uifigure
はアプリの作成用に特別に構成された Figure を作成するため、新しいアプリの作成にはこの関数を推奨します。UI Figure では、App Designer でサポートされるものと同じタイプの最新のグラフィックスと対話型 UI コンポーネントがサポートされます。詳細については、プログラミングによるアプリ開発を参照してください。
ライブ エディター タスクの作成
ライブ スクリプトに組み込むことができるインターフェイスを作成するには、ライブ エディター タスクを作成します。ライブ エディター タスクは、ユーザーがパラメーターを確認する際に自動的に生成される一連の MATLAB コマンドを表します。タスクは、開発時間やエラー、プロットにかかる時間を削減できるため、便利です。
ライブ エディター タスクをプログラムで作成するには、matlab.task.LiveTask
基底クラスのサブクラスを定義します。その後、タスクにプログラムでコンポーネントを追加してユーザー インターフェイスを構成し、タスクの MATLAB コマンドと出力を生成するコードを記述します。詳細については、ライブ エディター タスクの開発を参照してください。
あるいは、対話型コントロールを含むライブ エディターでコードを選択して変換することで、ライブ エディター タスクを作成することもできます。サポートされているコントロールには、数値スライダー、数値スピナー、ドロップダウン リスト、チェック ボックス、編集フィールド、ボタン、およびファイル ブラウザーがあります。詳細については、Create Live Editor Task from Selectionを参照してください。 (R2023b 以降)