uilistbox
リスト ボックス コンポーネントの作成
説明
は、リスト ボックスを新しい Figure ウィンドウ内に作成し、lb = uilistboxListBox オブジェクトを返します。MATLAB® は関数 uifigure を呼び出してこの Figure を作成します。
は、1 つ以上の名前と値の引数で指定されたプロパティをもつリスト ボックスを作成します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。たとえば、lb = uilistbox(___,Name,Value)uilistbox("Multiselect","on") は、アプリ ユーザーが複数の項目を選択できるリスト ボックスを作成します。
例
UI Figure 内にリスト ボックスを作成し、リスト ボックスの項目を指定します。
fig = uifigure; lb = uilistbox(fig,"Items",["Australia","France","Germany"]);

選択されている項目の値をクエリします。
val = lb.Value
val = 'Australia'
プログラムによってリスト ボックスの選択を更新します。
lb.Value = "Germany";
UI Figure 内にリスト ボックスを作成します。アプリ ユーザーが複数の項目を選択できるようにします。
fig = uifigure; lb = uilistbox(fig,"Multiselect","on");
Ctrl キーを押したままリスト ボックス内の複数の項目をクリックして選択します。

Value プロパティは選択されているすべての項目を cell 配列として格納します。
val = lb.Value
val =
1×2 cell array
{'Item 2'} {'Item 4'}UI Figure 内にリスト ボックスを作成し、Items プロパティを設定してリスト ボックスに表示される色名のリストを指定します。
fig = uifigure; lb = uilistbox(fig,"Items",["Red","Green","Blue"]);

項目にデータが関連付けられていない場合、リスト ボックスの Value プロパティは Items の要素です。
val = lb.Value
val = 'Red'
ItemsData プロパティを設定して、16 進数の色データをリスト ボックスの項目に関連付けます。ItemsData を設定しても、項目がどのようにアプリ ユーザーに表示されるのかは変更されません。
lb.ItemsData = ["#F00","#0F0","#00F"];

ItemsData プロパティが空でない場合、リスト ボックスの Value プロパティは ItemsData の要素です。
val = lb.Value
val = "#F00"
ItemsData を指定することで、選択されている項目に関連付けられた操作を実行しやすくすることができます。たとえば、16 進数の色値を関数 plot に直接渡すことで、選択されている色でデータをプロットします。
plot(1:10,"Color",lb.Value)
ユーザーがリスト ボックスの項目を選択したときにチャートのカラーマップを更新するアプリを作成します。
colormapApp.m という名前のファイルで、アプリを実装する関数を作成します。
UI Figure およびグリッド レイアウト マネージャーを作成してアプリをレイアウトします。
グリッド レイアウト マネージャーでリスト ボックスと、データがプロットされた UI 座標軸を作成します。
UI 座標軸のカラーマップを更新する
listBoxValueChangedという名前のコールバック関数を作成し、その関数をリスト ボックスのValueChangedFcnコールバック プロパティに割り当てます。コールバックの詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。
function colormapApp fig = uifigure; g = uigridlayout(fig,[3 2]); g.RowHeight = {'1x','fit','1x'}; g.ColumnWidth = {'fit','1x'}; lb = uilistbox(g, ... "Items",["Spring","Summer","Autumn","Winter"], ... "ItemsData",{spring,summer,autumn,winter}); lb.Layout.Row = 2; lb.Layout.Column = 1; ax = uiaxes(g); ax.Layout.Row = [1 3]; ax.Layout.Column = 2; surf(ax,peaks) colormap(ax,spring) lb.ValueChangedFcn = @(src,event) listBoxValueChanged(src,event,ax); end function listBoxValueChanged(src,event,ax) cmap = event.Value; colormap(ax,cmap) end
関数 colormapApp を実行します。リスト ボックスの項目を選択してカラーマップを変更します。
colormapApp

R2023a 以降
異なるイメージを表す 3 つの項目を含むリスト ボックスを作成します。
fig = uifigure; lb = uilistbox(fig,"Items",["Peppers","Nebula","Street"]);
リスト ボックスの項目に対応するアイコンをもつ 3 つのスタイルを作成します。
s1 = uistyle("Icon","peppers.png"); s2 = uistyle("Icon","ngc6543a.jpg"); s3 = uistyle("Icon","street1.jpg");
スタイルをリスト ボックスの項目に追加してアイコンを表示します。
addStyle(lb,s1,"item",1); addStyle(lb,s2,"item",2); addStyle(lb,s3,"item",3);
![]()
入力引数
親コンテナー。Figure オブジェクトまたはその子コンテナー (Tab、Panel、ButtonGroup、GridLayout) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして機能する新しい Figure オブジェクトを作成します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: uilistbox(Items=["Model 1","Model 2","Model 3"]) はリスト ボックスの項目を指定します。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: uilistbox("Items",["Model 1","Model 2","Model 3"]) はリスト ボックスの項目を指定します。
メモ
以下にリストするプロパティは、利用できるプロパティの一部です。完全なリストについては、ListBox を参照してください。
リスト ボックスの項目。文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。重複する要素を使用できます。リスト ボックスには Items の配列の要素数と同数のオプションが表示されます。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。
Items プロパティ値の各要素に関連付けるデータ。1 行 n 列の数値配列または 1 行 n 列の cell 配列として指定します。重複する要素を使用できます。
たとえば、Items 値を従業員の氏名に設定した場合、ItemsData 値を対応する従業員の ID 番号に設定できます。ItemsData 値はアプリ ユーザーに表示されません。
ItemsData 値と Items 値の配列要素数が一致しない場合、次のいずれかが起こります。
ItemsData値が空の場合、Items値のすべての要素がアプリ ユーザーに表示されます。ItemsData値の要素数がItems値の要素数よりも多い場合、Itemsのすべての要素がアプリ ユーザーに表示されます。MATLAB はItemsDataの余分な要素を無視します。ItemsData値が空ではないが、要素数がItems値の要素数よりも少ない場合、対応する要素がItemsData値にあるItems値の要素のみがアプリ ユーザーに表示されます。
例: {'One','Two','Three'}
例: [10 20 30 40]
複数の項目の選択。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
ユーザーによる複数項目の同時選択を可能にするには、このプロパティを 'on' に設定します。
値が変更されたときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、リスト ボックス内の別の項目を選択するときに実行されます。Value プロパティの設定がプログラムにより変更される場合には実行されません。
このコールバック関数は、ユーザーのリスト ボックス操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.PreviousValue はリスト ボックスの直前の値を返します。ValueChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、ValueChangedData オブジェクトのプロパティを示します。
| プロパティ | 値 |
|---|---|
Value | アプリ ユーザーによる最新操作の後のリスト ボックスの値 |
PreviousValue | アプリ ユーザーによる最新操作の前のリスト ボックスの値 |
ValueIndex | アプリ ユーザーによる最新操作の後の項目内のリスト ボックス値のインデックス |
PreviousValueIndex | アプリ ユーザーによる最新操作の前の項目内のリスト ボックス値のインデックス |
Source | コールバックを実行するコンポーネント |
EventName | 'ValueChanged' |
コールバックの記述の詳細については、App Designer のコールバックを参照してください。
親コンテナーを基準にしたリスト ボックスの位置とサイズ。ベクトル [left bottom width height] として指定します。次の表で、ベクトルの各要素について説明します。
| 要素 | 説明 |
|---|---|
left | 親コンテナーの内側左端からリスト ボックスの外側左端までの距離 |
bottom | 親コンテナーの内側下端からリスト ボックスの外側下端までの距離 |
width | リスト ボックスの外側の右端と左端の間の距離 |
height | リスト ボックスの外側の上端と下端の間の距離 |
すべての測定単位はピクセルです。
Position の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。
例: [100 100 100 200]
ヒント
プログラムによりスクロールしてリスト ボックスの項目やリストの最上部または最下部を表示するには、関数 scroll を使用します。
バージョン履歴
R2016a で導入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)
