Main Content

GUIDE オプション

メモ

GUIDE 環境は将来のリリースで削除される予定です。既存の GUIDE アプリは、GUIDE が削除された後も引き続き MATLAB® で動作しますが、GUIDE での編集はできません。

既存の GUIDE アプリを引き続き編集するには、将来の MATLAB リリースとの互換性維持に役立つ方法について、GUIDE の移行策を参照してください。新しいアプリを対話的に作成する場合は、代わりにApp Designer を使用したアプリ開発を参照してください。

[GUI オプション] ダイアログ ボックス

このダイアログ ボックスにアクセスするには、GUIDE レイアウト エディターの [ツール][GUI オプション] を選択します。選択したオプションは、次回 UI を保存したときに有効になります。

サイズ変更の動作

ユーザーがウィンドウをサイズ変更できるかどうか、および MATLAB によるサイズ変更の方法をコントロールできます。GUIDE は、3 つのオプションを提供します。

  • サイズ変更不可 — ユーザーはウィンドウのサイズを変更できません (既定値)。

  • 比例 (プロポーショナル) — MATLAB は、新しい Figure ウィンドウのサイズに比例して、UI のコンポーネントを自動的にスケーリングします。

  • その他 (SizeChangedFcn の使用) — ユーザーが Figure ウィンドウのサイズを変更した際の UI の動作をプログラムします。

最初の 2 つのオプションでは、Figure とコンポーネントのプロパティが適宜設定され、その他の操作は不要です。[その他 (SizeChangedFcn の使用)] のサイズ変更では、新規の Figure サイズに基づくコンポーネントのサイズと位置を再計算するコールバック ルーチンをユーザーが記述する必要があります。

コマンド ラインからのアクセス

GUIDE の [コマンド ラインへのアクセス] オプションを使用して、コマンド ラインまたはコード ファイルから Figure ウィンドウへのアクセスを制限することができます。

Figure ハンドルを明示的に指定しない限り、plot など多くのコマンドにより、現在の Figure (ルートの CurrentFigure プロパティで指定され、gcf コマンドで返される Figure) は変更されます。現在の Figure は、通常、最後に作成された、描画された、またはマウスでクリックされた Figure です。Figure h (ここで h は Figure のハンドル) をプログラムによって現在の Figure として指定するには、次の 4 つの方法があります。

  1. set(groot,'CurrentFigure',h): Figure h を現在の Figure にしますが、その Figure の可視性や、他の Figure との前後関係を変更しません。

  2. figure(h): Figure h を現在の Figure、可視にして、他の Figure の手前に表示します。

  3. axes(h): 既存の座標軸 h を現在の座標軸にし、これを含む Figure を 他の Figure よりも手前に表示します。

  4. plot(h,...)、あるいは座標軸を最初の引数とするプロット関数を用いても、既存の座標軸 h を現在の座標軸とし、これを含む Figure を他の Figure よりも手前に表示します。

関数 gcf は、現在の Figure のハンドルを返します。

h = gcf

GUIDE で作成される UI に対して [コマンド ラインへのアクセス] オプションを設定し、plot などのコマンドをコマンド ライン、あるいはスクリプトや関数から実行して UI の外見や内容を誤って変更してしまうことがないようにします。次の表は、[コマンド ラインからのアクセス] に対する 4 つのオプションについて簡単に説明します。

オプション

説明

コールバック (GUI はコールバック中に現在の Figure になります)

UI はコールバック内からのみアクセスできます。コマンド ラインやスクリプトからは UI にアクセスできません。これは既定値です。

オフ (GUI は現在の Figure になりません)

UI は、コールバック、コマンド ラインまたはスクリプトから、ハンドルなしにアクセスすることはできません。

オン (GUI はコマンド ラインから現在の Figure として操作できます)

UI は、コールバック、コマンド ラインおよびスクリプトからアクセスすることができます。

その他 (プロパティ インスペクターからの設定を利用します)

プロパティ インスペクターから HandleVisibilityIntegerHandle プロパティを設定することによってアクセスをコントロールできます。

FIG ファイルと MATLAB ファイルの作成

GUIDE で FIG ファイルと UI コード ファイルの両方を作成する (既定) 場合は、[GUI オプション] ダイアログ ボックスの [FIG ファイルと MATLAB ファイルの生成] を選択します。このオプションを選択すると、UI コードを設定する以下の項目のうち任意のものをフレームで選択できるようになります。

これらのファイルについての詳細は、GUIDE により生成されるファイルを参照してください。

コールバック関数のプロトタイプを作成

[GUI オプション] ダイアログで [コールバック関数のプロトタイプを作成] を選択すると、最も一般に使用されるコールバック用のテンプレートがほとんどのコンポーネントのコード ファイルに追加されます。続いて、これらのテンプレートにコードを挿入しなければなりません。

レイアウト エディターの右クリック コンテキスト メニューからコールバック ルーチンを編集したり、メニュー エディターを用いて UI にメニューを追加する場合にも、GUIDE によりコールバックが追加されます。

コールバックについての一般情報は、GUIDE でのコールバックの作成を参照してください。

メモ

このオプションは最初に [FIG ファイルと MATLAB ファイルの作成] オプションを選択した場合に限り、利用できます。

GUI は 1 つのインスタンスのみの実行を許可 (シングルトン)

このオプションにより、ユーザーは Figure ウィンドウに対する 2 つの動作から選べるようになります。

  • MATLAB ソフトウェアが UI のインスタンスを一度に 1 つだけ表示するようにします。

  • MATLAB ソフトウェアが UI のインスタンスを一度に複数表示できるようにします。

1 つのインスタンスのみを許可している場合は、プログラムを起動するコマンドを実行すると、既存の Figure が再利用されます。UI ウィンドウが既に存在する場合、その UI ウィンドウが前面に移動され、新規の Figure が生成されません。

このオプションをオフにすると、プログラムを起動するコマンドを実行するたびに、新規の Figure が作成されます。

一度に UI の 1 つのインスタンスのみの表示を許可している場合でも、コマンド ラインからこのインスタンスを呼び出すたびに初期化が行われます。たとえば、初期化を防ぐ手順をとらない限り、GUIDE プログラムが実行されるたびに OpeningFcn のコードが実行されます。handles 構造体にフラグを追加することは、そのような動作をコントロールする 1 つの方法です。OpeningFcn でこれを行うことができます。フラグがまだ存在しない場合は初期化コードを実行でき、フラグが存在する場合は初期化コードをスキップできます。

メモ

このオプションは最初に [FIG ファイルと MATLAB ファイルの作成] オプションを選択した場合に限り、利用できます。

背景にシステム配色を使用

UI コンポーネントに使用される既定の色は、システムに依存して変わります。このオプションにより、Figure の背景色を既定のコンポーネント背景色と同じにできます。

Figure の背景色がコンポーネントの色に確実に一致するようにするには、[GUI オプション] ダイアログで [背景にシステム配色を使用] を選択します。

メモ

このオプションは最初に [FIG ファイルと MATLAB ファイルの作成] オプションを選択した場合に限り、利用できます。

FIG ファイルのみ作成

[FIG ファイルのみ生成] オプションによって、編集が制限された Figure および UI を開くことができるようになります。任意の Figure を開くことができ、UI でなくても構いません。UI は GUIDE を使用して作成されている必要はありません。このモードでは編集機能が制限されていますが、Version 5.3 以前の MATLAB で作成した UI には有効です。詳細は、関数 guide を参照してください。

GUIDE は、以下のいずれかを行う場合、既定値として [FIG ファイルのみ作成] を選択します。

  • コマンド ラインで 1 つ以上の figure オブジェクトを引数として指定することで、GUIDE を起動します。

    guide(f)

    この場合 GUIDE では、同じフォルダーに名前の一致するコード ファイルがある場合でも、[FIG ファイルのみ作成] が選択されます。

  • コマンド ラインから GUIDE を起動し、同じフォルダーに同じ名前をもつコード ファイルが存在しない FIG ファイルの名前を指定します。

    guide('myfig.fig')
  • 同じフォルダーに同じ名前をもつコード ファイルの存在しない FIG ファイルを開くには、GUIDE の [既存の GUI を開く] タブを使用します。

[FIG ファイルのみ生成] を選択して Figure や UI を保存すると、GUIDE は FIG ファイルのみを保存します。必要に応じて、対応するコード ファイルを自分で更新しなければなりません。

GUIDE で UI コード ファイルを管理する場合は、UI を保存する前に、選択を [FIG ファイルと MATLAB ファイルの生成] に変更します。対応するコード ファイルが同じ場所にない場合は、GUIDE によってコード ファイルが作成されます。元の Figure や UI と同じ名前をもつコード ファイルが同じフォルダーに存在する場合は、GUIDE により上書きされます。既存のファイルが上書きされないようにするには、[ファイル] メニューから [名前を付けて保存] を使用して UI を保存します。2 つのファイルには別々のファイル名を選択します。必要に応じて、新しいコード ファイルの変数名を更新します。

コードがない UI のコールバック

UI の FIG ファイルに関連付けられたコード ファイルがない場合でも、UI コンポーネントにコールバックを指定して、UI コンポーネントが使用時にアクションを実行するようにできます。プロパティ インスペクターで、文字ベクトル、組み込み関数または MATLAB コード ファイル名の形式でコールバックを入力することができます。これらは、プログラムの実行時に可能であれば実行されます。コールバックがファイル名である場合は、関数への引数を含めることができます。たとえば、Callbackプッシュ ボタンのプロパティをsqrt(2) に設定すると、式の結果がコマンド ウィンドウに表示されます。

ans =
    1.4142
コールバックが実行するファイルは、現在のフォルダー、または MATLAB パス上になければなりません。コールバックの動作に関する詳細は、GUIDE でのコールバックの作成を参照してください。

関連するトピック