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
を実行し、ノブの値を増加してから減少を試みます。値を減少しようとすると、エラー ダイアログ ボックスが表示され、値が直前の有効な値に戻ります。ノブの値は増加のみ可能です。
入力引数
ノブのスタイル。次の値のいずれかとして指定します。
スタイル | 外観 |
---|---|
'continuous' |
|
'discrete' |
|
親コンテナー。Figure
オブジェクトまたはその子コンテナー (Tab
、Panel
、ButtonGroup
、GridLayout
) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure
を呼び出し、親コンテナーとして機能する新しい Figure
オブジェクトを作成します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
各タイプのノブ オブジェクトは、異なるプロパティのセットをサポートします。プロパティの完全なリストと各タイプについての説明は、対応するプロパティのページを参照してください。
バージョン履歴
R2016a で導入ValueIndex
プロパティを使用して、項目リスト内の離散型ノブ値のインデックスにアクセスします。
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)