CheckBox
チェック ボックス UI コンポーネント

説明
チェック ボックス UI コンポーネントは、基本設定やオプションの状態を示します。CheckBox オブジェクトを使用して、チェック ボックスの作成後にチェック ボックスの外観と動作を変更します。
作成
uicheckbox 関数を使用してアプリでチェック ボックスを作成します。
プロパティ
チェック ボックス
チェック ボックスの状態。0 (false) または 1 (true) として指定します。Value プロパティが 1 に設定されている場合、チェック ボックスはオンです。Value プロパティが 0 に設定されている場合、チェック ボックスはオフです。
チェック ボックスのラベル。次のいずれかとして指定します。
文字ベクトルまたは string スカラー — 1 行のテキストを表示します。以下に例を示します。
uicheckbox('Text','Filter');
文字ベクトル、string 配列、または 1 次元の categorical 配列の cell 配列 — 複数行のテキストを表示します。配列の各行は、1 行のテキストです。
uicheckbox('Text',{'Filter','Results'},... 'Position',[100 100 84 30]);
Text プロパティを cell 配列または string 配列に設定する場合、テキストの追加行が収まるように、Position プロパティを変更してください。
このプロパティを categorical 配列として指定した場合、MATLAB® はカテゴリの完全なセットではなく、配列内の値を使用します。
コンポーネントの幅に合わせるための右端での折り返し。'off' または 'on'、もしくは数値または logical 0 (false) または 1 (true) として指定します。'off' の値は false と等価であり、'on' の値は true と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
このプロパティを使用して、表示するテキストよりコンポーネントの幅が小さい場合に水平方向に切り捨てられないようにします。
'off'— テキストは右端で折り返しされません。'on'— テキストを新しい行に折り返して、各行がコンポーネントの幅に収まるようにし、単語が区切られないようにします (可能な場合)。
WordWrap プロパティを 'on' に設定しても、コンポーネントの高さがテキストのすべての行を表示するには小さすぎる場合には、テキストが垂直方向に切り捨てられるのを回避できません。
フォントと色
フォント名。システムでサポートされているフォント名として指定します。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。
指定したフォントが利用できない場合、MATLAB は、アプリが実行中のシステムで利用可能なフォントから最もよく一致するフォントを使用します。
例: 'Arial'
フォント サイズ。正の数値として指定します。測定単位はピクセルです。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。
例: 14
フォントの太さ。次のいずれかの値として指定します。
'normal'— 各フォントで定義されている既定の太さ'bold'—'normal'よりも太い文字
すべてのフォントに太字フォントがあるとは限りません。太字がないフォントの場合、'bold' を指定すると標準フォントの太さになります。
フォントの角度。'normal' または 'italic' として指定します。すべてのフォントにイタリックのフォントの角度があるわけではありません。イタリックがないフォントの場合、'italic' を指定すると標準フォントの角度になります。
フォントの色。RGB 3 成分、16 進数カラー コードまたは表にリストされたオプションのいずれかとして指定します。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
| 色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
|---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
対話機能
可視性の状態。'on' または 'off' として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'— オブジェクトを表示します。'off'— オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。
アプリの起動を高速化するには、起動時に表示する必要のないすべての UI コンポーネントの Visible プロパティを 'off' に設定します。
操作可能状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off の logical 値として保存されます。
このプロパティを
'on'に設定すると、アプリ ユーザーはコンポーネントを操作できるようになります。このプロパティを
'off'に設定すると、コンポーネントはグレー表示になり、アプリ ユーザーはコンポーネントを操作できず、コンポーネントはコールバックをトリガーしないことが示されます。
ツールヒント。文字ベクトル、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。このプロパティを使用して、実行時にユーザーがポインターをコンポーネントに合わせるとメッセージが表示されるようにします。コンポーネントが無効になっている場合でも、ツールヒントは表示されます。複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの各行になります。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。
コンテキスト メニュー。関数 uicontextmenu を使用して作成された ContextMenu オブジェクトとして指定します。このプロパティは、コンポーネントを右クリックしたときにコンテキスト メニューを表示するために使用します。
位置
親を基準にしたチェック ボックスの位置とサイズ。ベクトル [left bottom width height] として指定します。次の表で、ベクトルの各要素について説明します。
| 要素 | 説明 |
|---|---|
left | 親コンテナーの内側左端からチェック ボックスの外側左端までの距離 |
bottom | 親コンテナーの内側下端からチェック ボックスの外側下端までの距離 |
width | チェック ボックスの外側の右端と左端の間の距離 |
height | チェック ボックスの外側の上端と下端の間の距離 |
Position の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。
すべての測定単位はピクセルです。
例: [200 200 102 15]
チェック ボックスの内部位置とサイズ。[left bottom width height] として指定します。位置の値は、親コンテナーを基準とします。すべての測定単位はピクセルです。このプロパティ値は、チェック ボックスの Position プロパティ値と同一です。
この プロパティ は読み取り専用です。
チェック ボックスの外部位置とサイズ。[left bottom width height] として返されます。位置の値は、親コンテナーを基準とします。すべての測定単位はピクセルです。このプロパティ値は、Position プロパティ値と同一です。
レイアウト オプション。GridLayoutOptions オブジェクトとして指定します。このプロパティは、グリッド レイアウト コンテナーの子であるコンポーネントのオプションを指定します。コンポーネントがグリッド レイアウト コンテナーの子ではない場合 (たとえば、Figure またはパネルの子である場合) は、このプロパティは空で、効果はありません。しかし、コンポーネントがグリッド レイアウト コンテナーの子である場合は、GridLayoutOptions オブジェクトの Row プロパティおよび Column プロパティを設定して、グリッドの目的の行と列にコンポーネントを配置することができます。
たとえば、次のコードはチェック ボックスを親グリッドの 3 行目の 2 列目に配置します。
g = uigridlayout([4 3]); c = uicheckbox(g); c.Layout.Row = 3; c.Layout.Column = 2;
チェック ボックスが複数の行または列にまたがるようにするには、Row または Column プロパティを 2 要素のベクトルとして指定します。たとえば、次のチェック ボックスは 2 列目から 3 列目にまたがります。
c.Layout.Column = [2 3];
コールバック
値が変更されたときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーがアプリでチェック ボックスをオンまたはオフにしたときに実行されます。チェック ボックスの値がプログラムによって変更された場合にはコールバックは実行されません。
このコールバック関数は、ユーザーのチェック ボックス操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.PreviousValue はチェック ボックスの直前の値を返します。ValueChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、ValueChangedData オブジェクトのプロパティを示します。
| プロパティ | 値 |
|---|---|
Value | アプリ ユーザーによる最新操作の後のチェック ボックスの値。 |
PreviousValue | アプリ ユーザーによる最新操作の前のチェック ボックスの値。 |
Source | コールバックを実行するコンポーネント。 |
EventName | 'ValueChanged' |
コールバックの記述の詳細については、App Designer のコールバックを参照してください。
オブジェクト作成関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。
このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。
既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。
オブジェクト削除関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。
このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。
コールバック実行制御
コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
MATLAB は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnow、figure、uifigure、getframe、waitfor、pause があります。
実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。
実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible プロパティに応じて割り込みが発生するかどうかが決まります。
Interruptibleの値が'off'の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトのBusyActionプロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。Interruptibleの値が'on'の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。
メモ
コールバックの割り込みと実行は、以下の状況では動作が異なります。
割り込みコールバックが
DeleteFcn、CloseRequestFcnまたはSizeChangedFcnコールバックの場合、Interruptibleプロパティの値にかかわらず割り込みが発生します。実行中のコールバックが関数
waitforを現在実行している場合、Interruptibleプロパティの値にかかわらず割り込みが発生します。割り込みコールバックが
Timerオブジェクトで所有されている場合、Interruptibleプロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。
コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。
これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。
'queue'— 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。'cancel'— 割り込みコールバックを実行しません。
この プロパティ は読み取り専用です。
削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。
MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。
クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。
親/子
親コンテナー。Figure オブジェクトまたはその子コンテナー (Tab、Panel、ButtonGroup、GridLayout) のいずれかとして指定します。コンテナーが指定されていない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして使用される新しい Figure オブジェクトを作成します。
オブジェクト ハンドルの可視性。'on'、'callback' または 'off' として指定します。
このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。これらの関数には、get、findobj、clf および close が含まれます。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。
| HandleVisibility の値 | 説明 |
|---|---|
'on' | オブジェクトは常に参照できます。 |
'callback' | オブジェクトはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。 |
'off' | オブジェクトは常に参照できません。このオプションは、他の関数による UI の意図しない変更を防止するために役立ちます。HandleVisibility を 'off' に設定すると、その関数の実行中にオブジェクトが一時的に非表示になります。 |
識別子
この プロパティ は読み取り専用です。
グラフィックス オブジェクトのタイプ。'uicheckbox' として返されます。
オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。
ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。
App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。
オブジェクト関数
focus | UI コンポーネントにフォーカスを移動 |
例
UI Figure 内にチェック ボックスを作成し、チェック ボックスのテキストを指定します。
fig = uifigure; cbx = uicheckbox(fig,"Text","Subscribe");

チェック ボックスの値をクエリします。
val = cbx.Value
val = logical
0
Value プロパティを更新して、プログラムによってチェック ボックスをオンにします。
cbx.Value = 1;

ユーザーがプロットの凡例の表示と非表示を切り替えることができるアプリを作成します。
toggleLegendApp.m という名前のファイルで、アプリを実装する関数を作成します。
UI Figure およびグリッド レイアウト マネージャーを作成してアプリをレイアウトします。
グリッド レイアウト マネージャーで UI 座標軸とチェック ボックスを作成し、座標軸にデータをプロットします。
プロットの凡例の表示と非表示を切り替える
checkBoxChangedという名前のコールバック関数を作成し、その関数をチェック ボックスのValueChangedFcnコールバック プロパティに割り当てます。コールバックの詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。
function toggleLegendApp fig = uifigure; g = uigridlayout(fig,[2 3]); g.RowHeight = {'1x','fit'}; g.ColumnWidth = {'1x','fit','1x'}; ax = uiaxes(g); ax.Layout.Row = 1; ax.Layout.Column = [1 3]; plot(ax,magic(3)); lgd = legend(ax,"hide"); cbx = uicheckbox(g,"Text","Show legend"); cbx.Layout.Row = 2; cbx.Layout.Column = 2; cbx.ValueChangedFcn = @(src,event) checkBoxChanged(src,event,lgd); end function checkBoxChanged(src,event,lgd) val = event.Value; lgd.Visible = val; end
関数 toggleLegendApp を実行します。チェック ボックスをオンにして凡例を表示します。

バージョン履歴
R2016a で導入ライト テーマの FontColor プロパティの既定値がわずかに変わりました。R2025a 以降、既定値は [0.1294 0.1294 0.1294] です。以前の既定値は [0 0 0] でした。
表示するテキストより UI コンポーネントの幅が小さい場合に、テキストが水平方向に切り捨てられないようにするには、WordWrap プロパティを使用します。WordWrap プロパティを 'on' に設定すると、各行がコンポーネントに収まるようにテキストが新しい行に折り返されます。可能な限り、単語の途中での改行はされません。プロパティが 'off' に設定されている場合、テキストは折り返されません。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)









