メインコンテンツ

guidata

UI データの格納または取得

説明

メモ

メイン アプリの Figure の UserData プロパティにアプリ データを格納した方がコードが読みやすくなる場合があるため、guidata を使用する方法よりも推奨されます。アプリ データの格納と共有の詳細については、コールバック間のデータ共有を参照してください。

guidata(obj,data) は、obj が Figure の場合はそれ自体のアプリケーションデータ、obj が別のコンポーネントの場合はその親 Figure のアプリケーションデータに、指定されたデータを格納します。詳細については、guidata によるデータの管理方法を参照してください。

data = guidata(obj) は、前回保存したデータを返します。何も保存されていない場合は空行列を返します。

すべて折りたたむ

クリックされたときにカウンター データを保存して取得するプログラム UI を作成します。

まず、progCounter.m というプログラム ファイルを作成します。プログラム ファイル内で次を行います。

  • Figure を作成します。

  • フィールド値をゼロに初期化して構造体を作成します。

  • データをこの Figure に保存します。

  • この Figure からデータを取得し、データを変更して、新しいデータをこの Figure に再度保存するコールバック関数を定義します。

プログラムを実行し、この Figure の内部をクリックします。更新されたデータがコマンド ウィンドウに表示されます。

f = figure;
data.numberOfClicks = 0; 
guidata(f,data)
f.ButtonDownFcn = @My_Callback;

function My_Callback(src,event)
data = guidata(src);
data.numberOfClicks = data.numberOfClicks + 1;
guidata(src,data)
data
end
data = 

  struct with fields:

    numberOfClicks: 1

入力引数

すべて折りたたむ

FigureAxesIllustration、UI オブジェクトなどのグラフィックス オブジェクト。この引数を使用して、data を保存する Figure を指定します。指定したオブジェクトが Figure でない場合、そのオブジェクトの親 Figure が data の保存に使用されます。

Figure に保存するデータ。任意の MATLAB データとして指定します。通常、data は構造体として指定します。これにより、必要に応じて新しいフィールドを追加できます。たとえば、Category というフィールドをもつデータ構造体を作成し、フィールドからのデータをこの構造体に保存して、保存したデータをコマンド ウィンドウに表示します。

data.Category = 'Projected Growth';
guidata(gcf,data);
data = guidata(gcf)

アルゴリズム

すべて折りたたむ

バージョン履歴

R2006a より前に導入