uiknob
ノブ コンポーネントの作成
構文
説明
は、ノブを新しい Figure ウィンドウ内に作成し、kb
= uiknobKnob
オブジェクトを返します。MATLAB® は関数 uifigure
を呼び出してこの Figure を作成します。
はノブのスタイルを指定します。kb
= uiknob(style
)
は、1 つ以上の kb
= uiknob(___,Name,Value
)Name,Value
のペアの引数を使用して、オブジェクトのプロパティを指定します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。
例
連続型ノブの作成
fig = uifigure; kb = uiknob(fig);
離散型ノブの作成
Figure
オブジェクトを親コンテナーとして指定します。
fig = uifigure('Position',[100 100 300 250]); kb = uiknob(fig,'discrete');
ノブのプロパティ値の設定とアクセス
Figure に連続型ノブを作成します。
fig = uifigure; kb = uiknob(fig);
ノブの範囲を調べます。
limits = kb.Limits
limits = 0 100
範囲とノブの値を変更します。
kb.Limits = [-10 10]; kb.Value = 5;
プロパティ値の設定とアクセス
離散型ノブを作成します。
fig = uifigure;
kb = uiknob(fig,'discrete');
ノブの状態を変更します。ItemsData
を構成して、特定のデータをノブの状態に関連付けます。この場合、ItemsData
は華氏での温度を反映します。
kb.Items = {'Cold', 'Warm', 'Hot'}; kb.ItemsData = {32, 80, 212};
現在のノブの値に関連付けられている温度を取得します。
degrees = kb.Value
degrees = 32
変更後の離散型ノブの設定に対するコードの応答
アプリ ユーザーが回すとアクションを実行する離散型ノブを作成します。ノブを回すと、アプリ ユーザーの選択を反映するように編集フィールドの値が更新されます。
次のコードをコピーして、MATLAB パス上の displayknobvalue.m
というファイルに貼り付けます。このコードは、離散型ノブと編集フィールドを含むウィンドウを作成します。コードでは、ノブが回されたときに編集フィールドを更新する ValueChangedFcn
コールバックが指定されています。
function displayKnobValue % Create figure window fig = uifigure('Position',[100 100 283 275]); % Create the text field txt = uieditfield(fig,'text',... 'Position', [69 82 100 22]); % Create the knob kb = uiknob(fig,'discrete',... 'Position',[89 142 60 60],... 'ValueChangedFcn',@(kb,event) knobTurned(kb,txt)); end % Code the knob callback function function knobTurned(knob,txt) txt.Value = knob.Value; end
displayKnobValue
を実行してからノブを回します。マウス ボタンを離すと、新しいノブの値を反映するように編集フィールドが更新されます。
変更後の連続型ノブの設定に対するコードの応答
ユーザーが回し終えるとアクションを実行する連続型ノブを作成します。ノブを回すと、ユーザーの選択を反映するようにラベルの値が更新されます。
次のコードをコピーして、MATLAB パス上の showknobvalue.m
というファイルに貼り付けます。次のコードは、連続型ノブとラベル フィールドを含むウィンドウを作成します。このコードには、ノブが回されたときにラベルを更新する ValueChangedFcn
コールバックが指定されています。
function showKnobValue % Create figure window and components fig = uifigure('Position',[100 100 283 275]); % Create label lbl = uilabel(fig,... 'Position',[218 177 50 15],... 'Text','0'); % Create knob kb = uiknob(fig,... 'Position',[89 142 60 60],... 'ValueChangedFcn', @(kb,event) knobTurned(kb,lbl)); end % Create ValueChangedFcn callback function knobTurned(kb,lbl) num = kb.Value; lbl.Text = num2str(num); end
showKnobValue
を実行してからノブを回します。マウス ボタンを離すと、新しいノブの値を反映するようにラベルが更新されます。
変更中の連続型ノブの設定に対するコードの応答
ユーザーがノブを回している間にアクションを繰り返し実行する連続型ノブを作成します。このノブは、ユーザーがマウス ボタンを離したときに編集フィールドを 1 回更新するのではなく、ノブが回されるにつれて編集フィールドし更新します。
次のコードをコピーして、MATLAB パス上の showchangingvalue.m
というファイルに貼り付けます。このコードは、連続型ノブと編集フィールドを含むウィンドウを作成します。コードでは、ノブの回転につれて編集フィールドを更新し続ける ValueChangingFcn
コールバックが指定されています。
function showChangingValue % Create figure window fig = uifigure('Position',[100 100 283 275]); % Create numeric edit field num = uieditfield(fig,'numeric',... 'Position',[69 82 100 20]); % Create knob kb = uiknob(fig,... 'Position',[89 142 60 60],... 'ValueChangingFcn',@(kb,event) knobTurned(kb,event,num)); end % Create ValueChangingFcn callback function knobTurned(kb,event,num) num.Value = event.Value; end
showChangingValue
を実行してからノブを回します。それに合わせて編集フィールドは更新され、変化するノブの値が表示されます。
無効なノブの設定に対するコードの応答
ユーザーが回し終えるとアクションを実行する連続型ノブを作成します。ノブを回すたびに、MATLAB は現在および直前のノブの値を使用して計算を実行します。
次のコードをコピーして、MATLAB パス上の increaseOnly.m
というファイルに貼り付けます。次のコードは、連続型ノブを含むウィンドウを作成します。このコードには、アプリ ユーザーがノブの値を減少しようとしたときに [無効な値] ダイアログ ボックスを表示する、ノブの ValueChangedFcn
コールバックが指定されています。
function increaseOnly % Create figure window fig = uifigure('Position',[100 100 400 275]); % Create knob kb = uiknob(fig,... 'Position',[150 125 60 60],... 'ValueChangedFcn',@(kb,event) nValChanged(kb,event,fig)); end % Create ValueChangedFcn callback function nValChanged(kb,event,fig) newvalue = event.Value; previousvalue = event.PreviousValue; if previousvalue > newvalue uialert(fig, 'Increase value only. Value reverted to previous value.', ... 'Invalid Value'); kb.Value = previousvalue; end end
increaseOnly
を実行し、ノブの値を増加してから減少を試みます。値を減少しようとすると、エラー ダイアログ ボックスが表示され、値が直前の有効な値に戻ります。ノブの値は増加のみ可能です。
入力引数
style
— ノブのスタイル
'continuous'
(既定値) | 'discrete'
ノブのスタイル。次の値のいずれかとして指定します。
スタイル | 外観 |
---|---|
'continuous' |
|
'discrete' |
|
parent
— 親コンテナー
Figure
オブジェクト (既定値) | Tab
オブジェクト | Panel
オブジェクト | ButtonGroup
オブジェクト | GridLayout
オブジェクト
親コンテナー。関数 uifigure
を使用して作成された Figure
オブジェクト、またはその子コンテナー (Tab
、Panel
、ButtonGroup
または GridLayout
) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure
を呼び出し、親コンテナーとして機能する新しい Figure
オブジェクトを作成します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
各タイプのノブ オブジェクトは、異なるプロパティのセットをサポートします。プロパティの完全なリストと各タイプについての説明は、対応するプロパティのページを参照してください。
バージョン履歴
R2016a で導入R2023b: 項目リスト内の離散型ノブ値のインデックスへのアクセス
ValueIndex
プロパティを使用して、項目リスト内の離散型ノブ値のインデックスにアクセスします。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)