Main Content

uicontrol

ユーザー インターフェイス コントロールの作成

説明

メモ

関数 uicontrol は、App Designer 内または関数 uifigure を使用して作成されたアプリ内ではサポートされません。これらのコンテキストで代わりに使用できるコンポーネントの一覧については、アプリ作成コンポーネントを参照してください。

c = uicontrol はプッシュ ボタン (既定のユーザー インターフェイス コントロール) を現在の Figure 内に作成し、UIControl オブジェクトを返します。Figure が存在しない場合は、MATLAB® が関数 figure を呼び出して Figure を作成します。

c = uicontrol(Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、指定されたプロパティ値をもつユーザー インターフェイス コントロールを作成します。たとえば、'Style','checkbox' はチェック ボックスを作成します。

c = uicontrol(parent) は、現在の Figure に既定で作成するのではなく、指定した親に既定のユーザー インターフェイス コントロールを作成します。

c = uicontrol(parent,Name,Value) は、ユーザー インターフェイス コントロールの親と、1 つ以上の名前と値のペアの引数を指定します。

uicontrol(c) は、事前定義のユーザー インターフェイス コントロールにフォーカスを移します。

すべて折りたたむ

名前と値のペアの引数 'Style''radiobutton' として指定することで、ラジオ ボタンを作成します。名前と値のペアの引数 'String' の値を指定することで、そのラジオ ボタンにラベルを付けます。

c = uicontrol('Style','radiobutton','String','Option 1');

Figure window with a radio button labeled "Option 1"

Figure と、その内部に配置されたパネルを作成します。続いて、そのパネルを親に指定し 'Style''slider' に指定して関数 uicontrol を呼び出すことで、パネル内にスライダーを作成します。次に、スライダーの Value プロパティを 0.5 に設定します。

f = figure;
p = uipanel(f,'Position',[0.1 0.1 0.35 0.65]);
c = uicontrol(p,'Style','slider');
c.Value = 0.5;

Figure window with a panel that contains a slider

クリックすると選択肢のリストが表示されるポップアップ メニューを作成します。コールバック関数を使用して、ユーザーの選択したリスト項目を決定し、MATLAB コマンド ウィンドウに選択内容を表示します。

mytemps.m としてこのコードを保存します。このコードにより、3 つのリスト項目を含むポップアップ メニューをもった Figure ウィンドウが作成されます。続いて、コールバック関数を使用してポップアップ メニューの Value プロパティと String プロパティがクエリされ、選択した項目がコマンド ラインに表示されます。

function mytemps
f = figure;
c = uicontrol(f,'Style','popupmenu');
c.Position = [20 75 60 20];
c.String = {'Celsius','Kelvin','Fahrenheit'};
c.Callback = @selection;

    function selection(src,event)
        val = c.Value;
        str = c.String;
        str{val};
        disp(['Selection: ' str{val}]);
    end

end

プログラムを実行して、Figure とそのコンテンツを生成します。

mytemps

Figure window with a pop-up menu. The pop-up menu has the list items "Celsius", "Kelvin", and "Fahrenheit".

別のメニュー項目を選択して、選択内容を変更します。たとえば、ポップアップ メニューで [Kelvin] を選択すると、コマンド ラインには Selection: Kelvin というテキストが表示されます。

クリックするとデータがプロットされるプッシュ ボタンを作成します。

pushbuttonPlot.m としてこのコードを保存します。このコードにより、座標軸とプッシュ ボタンの含まれる Figure ウィンドウが作成されます。ボタンをクリックするたびにコールバック関数が実行され、正規分布した 5 つの乱数の棒グラフがプロットされます。

function pushbuttonPlot
f = figure;
ax = axes(f);
ax.Units = 'pixels';
ax.Position = [75 75 325 280]
c = uicontrol;
c.String = 'Plot Data';
c.Callback = @plotButtonPushed;

    function plotButtonPushed(src,event)
        bar(randn(1,5));
    end

end

pushbuttonPlot を実行し、プッシュ ボタンをクリックします。MATLAB がデータをプロットします。

Figure window with a plot and a push button labeled "Plot Data"

編集可能なテキスト フィールドを作成し、その関数ハンドルを関数 uicontrol に渡すことによってフォーカスします。このアクションにより、編集可能なテキスト フィールド内でカーソルがアクティブになり、点滅します。

c = uicontrol('Style','edit');
uicontrol(c);

Figure window with an edit field

入力引数

すべて折りたたむ

親オブジェクト。関数 figure を使用して作成された Figure オブジェクト、またはその子コンテナー (PanelButtonGroup、または Tab オブジェクト) のいずれかとして指定します。この引数を使用して、ユーザー インターフェイス コントロールを作成する際に親コンテナーを指定します。

ユーザー インターフェイス コントロール オブジェクト。UIControl オブジェクトとして指定します。この引数を使用して、フォーカス対象とする事前定義のユーザー インターフェイス コントロールを指定します。

例: uicontrol(c)

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: uicontrol('Style','checkbox') は、ユーザー インターフェイス コントロールのスタイルとしてチェック ボックスを指定します。

メモ

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、UIControl のプロパティ を参照してください。

UIControl オブジェクトのスタイル。次の表の値として指定します。

Style プロパティ値説明
'pushbutton'Push buttonマウス ボタンが離されるまで、押し下げられたままになるボタン。
'togglebutton'

Selected toggle button
Cleared toggle button

プッシュ ボタンと似た外観をもつ、オンまたはオフの状態を視覚的に示すボタン。
'checkbox'

Selected check box
Cleared check box

独自にオンまたはオフにすることが可能なオプション。
'radiobutton'

Selected radio button
Cleared radio button

グループの一部を形成して、オンにするとグループ内の他のオプションがオフになるよう意図されたオプション。


ラジオ ボタンのセットの相互に排他的な動作を実装するには、それらのラジオ ボタンを 1 つの uibuttongroup 内に配置します。

'edit'

Editable text field that says, "Enter search term."

編集可能なテキスト フィールド。


複数行のテキストを有効にするには、MaxMin のプロパティを Max-Min > 1 になるように設定します。

'text'

Static text field that says, "Select an item below:"

スタティック テキスト フィールド。スタティック テキストを使用して、他のユーザー インターフェイス コントロールにラベルを付け、ユーザーに情報を提供し、あるいはスライダーに関連付けられた値を示します。


スタティック テキストをマウス クリックに応答させるには、Enable プロパティを 'Inactive' に設定し、ButtonDownFcn コールバックを使って応答をコーディングします。

'slider'

Slider with the thumb at the leftmost location

ユーザーが横または縦のバーに沿って動かす "つまみ" ボタン。バーに沿ったボタンの位置は、指定範囲内の値を示します。

'listbox'

List box with three items

ユーザーが 1 つ以上の項目を選択できる項目のリスト。ポップアップ メニューとは異なり、リスト ボックスはクリックされても展開しません。


項目の複数選択を可能にするには、MaxMin のプロパティを Max-Min > 1 になるように設定します。リスト ボックスで複数項目を選択できる場合に動作を遅らせるために、[完了] プッシュ ボタンをリスト ボックスに関連付けることができます。その後、そのボタンのコールバックを使用して、リスト ボックスの Value プロパティを評価します。

'popupmenu'

Pop-up menu with three items

選択肢のリストを表示するために展開されるポップアップ メニュー (別名ドロップダウン メニュー)。ポップアップ メニューは閉じられると、現在の選択を示します。いくつかの相互排他的な選択肢を提示する場合に、ポップアップ メニューを使用します。

'frame''frame' オプションは推奨されません。フレームの代わりに、uipanel または uibuttongroup を使用してください。GUIDE は、それらを含む UI のフレームを引き続きサポートしますが、フレームのコンポーネントは、GUIDE レイアウト エディターのコンポーネント パレットに表示されません。

表示するテキスト。文字ベクトル、文字ベクトルの cell 配列、string 配列、categorical 配列、またはパイプ区切りの行ベクトルとして指定します。Style プロパティは、使用できる配列形式を決定します。

Style プロパティサポートされる配列形式
'pushbutton'

文字ベクトル


文字ベクトルの cell 配列


string 配列


categorical 配列

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

'togglebutton'
'checkbox'
'radiobutton'
'edit'
'text'
'listbox'

文字ベクトル


文字ベクトルの cell 配列


string 配列


categorical 配列


パイプ区切りの行ベクトル

'One'


{'One','Two','Three'}


["One" "Two" "Three"]


categorical({'one','two','three'})


'One|Two|Three'

'popupmenu'

メモ

プッシュ ボタン、トグル ボタン、チェック ボックス、またはラジオ ボタンについて cell 配列または categorical 配列を指定した場合、MATLAB は配列内の最初の要素のみを表示します。

位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。既定の測定単位はピクセルです。次の表では、ベクトルの各要素を説明します。

要素説明
left親コンテナーの内側左端からユーザー インターフェイス コントロールの外側左端までの距離。
bottom親コンテナーの内側下端からユーザー インターフェイス コントロールの外側下端までの距離。
widthユーザー インターフェイス コントロールの外側の右端と左端の間の距離。
heightユーザー インターフェイス コントロールの外側の上端と下端の間の距離。

Position の値の基準は、親コンテナーの描画可能領域です。描画可能領域は、コンテナーの境界線の内側にある領域で、タイトルが占める領域は含まれません。親コンテナーが Figure である場合は、メニュー バーとツール バーも描画可能領域には含まれません。

現在の値。数値として指定します。特定のユーザー インターフェイス コントロールのステータスをクエリまたは変更するために使用します。次の表では、特定の UIControl スタイルと関連する Value プロパティを説明します。

Style プロパティValue プロパティの説明
'togglebutton'
  • オン: Max プロパティの値。

  • オフ: Min プロパティの値。

'checkbox'
  • オン: Max プロパティの値。

  • オフ: Min プロパティの値。

'radiobutton'
  • オン: Max プロパティの値。

  • オフ: Min プロパティの値。

'slider'スライダー バーに沿ったつまみの位置に関連付けられた値。
'listbox'リスト ボックスで選択された項目に対応する配列インデックス。値 1 (既定) はリストの最初の項目に対応しています。複数の項目が選択されている場合、Value プロパティは行インデックスをベクトルとして保存します。
'popupmenu'ポップアップ メニューで選択された項目に対応する配列インデックス。値 1 (既定) はポップアップ メニューの最初の項目に対応しています。

バージョン履歴

R2006a より前に導入