uieditfield
テキストまたは数値の編集フィールド コンポーネントの作成
構文
説明
は、テキスト編集フィールドを新しい Figure 内に作成し、ef
= uieditfieldEditField
オブジェクトを返します。MATLAB® は関数 uifigure
を呼び出してこの Figure を作成します。
は指定されたスタイルの編集フィールドを作成します。編集フィールドのスタイルは ef
= uieditfield(style
)"text"
または "numeric"
にすることができます。
は、1 つ以上の名前と値の引数で指定されたプロパティをもつ編集フィールドを作成します。たとえば、ef
= uieditfield(___,Name,Value
)Value
プロパティを使用して編集フィールド値を指定します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。
例
テキスト編集フィールドを作成
数値編集フィールドを作成
スタイルを "numeric"
として指定して、数値編集フィールドを作成します。
fig = uifigure;
ef = uieditfield(fig,"numeric");
編集フィールドのプロパティ値の設定とアクセス
数値編集フィールドを作成し、その範囲を 0 ~ 100 に設定します。
fig = uifigure; ef = uieditfield(fig,"numeric", ... "Limits",[0 100]);
既定値を決定します。
val = ef.Value
val = 0
編集フィールドの値を 50 に設定します。
ef.Value = 50;
数値編集フィールドの表示形式の指定
アプリ ユーザーが任意の値を入力できる一方で、必ず厳密に 2 桁の小数部と指定した単位を使用して値が表示される数値編集フィールドを作成します。編集フィールドは、アプリ ユーザーが入力したそのままの値を格納します。
fig = uifigure; ef = uieditfield(fig,"numeric", ... "ValueDisplayFormat","%.2f Volts");
数値編集フィールドに「5.5556
」と入力し、その外部をクリックします。編集フィールドには 5.56 Volts
が表示されます。
編集フィールドは Value
プロパティの値をユーザーが入力した値 (5.5556
) として格納します。編集フィールドを再びクリックすると 5.5556
が表示されます。
サポートされている書式表示演算子の詳細なリストについては、sprintf
を参照してください。
数値編集フィールドの範囲の上下限値を含めるかどうかの指定
-5 より大きく 10 以下の値をアプリ ユーザーが入力できる数値編集フィールドを作成します。
fig = uifigure; ef = uieditfield(fig,"numeric", ... "Limits",[-5 10], ... "LowerLimitInclusive","off", ... "UpperLimitInclusive","on", ... "Value",5);
範囲外の値を数値編集フィールドに入力すると、MATLAB はその問題を示すメッセージを表示します。無効な値を入力すると、MATLAB はその値を直前の有効な値に戻します。
編集フィールドのテキストの長さと型の指定
長さが 3 ~ 12 文字であり、文字と数字のみで構成されるテキストをアプリ ユーザーが入力できるテキスト編集フィールドを作成します。
fig = uifigure; ef = uieditfield(fig, ... "CharacterLimits",[3 12], ... "InputType","alphanumerics");
無効な値をテキスト編集フィールドに入力すると、MATLAB はその問題を示すメッセージを表示します。その後、Enter キーを押したり、コンポーネントから移動したりすることで無効な値を入力すると、MATLAB はその値を直前の有効な値に戻します。
編集フィールドの値の変更に対するコードの応答
アプリ ユーザーが数値編集フィールドに値を入力したときにゲージの針を移動するアプリを作成します。
editFieldApp.m
という名前のファイルで、アプリを実装する関数を作成します。
UI Figure およびグリッド レイアウト マネージャーを作成してアプリをレイアウトします。
グリッド レイアウト マネージャーで数値編集フィールドとゲージを作成します。
編集フィールドの値に合わせてゲージの針を更新する
editFieldValueChanged
という名前のコールバック関数を作成し、その関数を編集フィールドのValueChangedFcn
コールバック プロパティに割り当てます。コールバックの詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。
function editFieldApp fig = uifigure; gl = uigridlayout(fig); gl.RowHeight = {'1x',150,'fit','1x'}; gl.ColumnWidth = {'1x',150,'1x'}; g = uigauge(gl,"Limits",[0 10]); g.Layout.Row = 2; g.Layout.Column = 2; ef = uieditfield(gl,"numeric", ... "Limits",[0 10], ... "ValueChangedFcn",@(src,event) editFieldValueChanged(src,event,g)); ef.Layout.Row = 3; ef.Layout.Column = 2; end function editFieldValueChanged(src,event,g) g.Value = src.Value; end
関数 editFieldApp
を実行します。編集フィールドに値を入力して、ゲージの針を更新します。
editFieldApp
イベント データを使用したログの維持
アプリ ユーザーがテキスト編集フィールドに入力した値のログを保持し、テキスト エリアにそのログを表示するアプリを作成します。
logEntriesApp.m
という名前のファイルで、アプリを実装する関数を作成します。
UI Figure およびグリッド レイアウト マネージャーを作成してアプリをレイアウトします。
グリッド レイアウト マネージャーでテキスト編集フィールドとテキスト エリアを作成します。
ユーザーが編集フィールドに新しいテキストを入力するたびに前に入力されていたテキストをテキスト エリアに追加する
editFieldValueChanged
という名前のコールバック関数を作成し、その関数を編集フィールドのValueChangedFcn
コールバック プロパティに割り当てます。コールバック イベント データを使用して、前に入力されていたテキストにアクセスします。コールバックの詳細については、プログラムで作成したアプリ用のコールバックの作成を参照してください。
function logEntriesApp fig = uifigure; g = uigridlayout(fig); g.RowHeight = {'fit','1x'}; g.ColumnWidth = {'1x',150,'1x'}; loglist = uitextarea(g, ... "Editable","off"); loglist.Layout.Row = 2; loglist.Layout.Column = 2; ef = uieditfield(g, ... "Value","Daniela Hendrix",... "ValueChangedFcn",@(src,event) editFieldValueChanged(src,event,loglist)); ef.Layout.Row = 1; ef.Layout.Column = 2; end % Create ValueChangedFcn callback function editFieldValueChanged(src,event,loglist) prev = event.PreviousValue; loglist.Value = [prev; loglist.Value]; end
関数 logEntriesApp
を実行します。編集フィールドに名前をいくつか入力します。新しい名前を入力するたびに、アプリは前の名前を、テキスト エリアに表示されているログに追加します。
入力引数
style
— 編集フィールドのタイプ
"text"
(既定値) | "numeric"
編集フィールドのタイプ。次のいずれかとして指定します。
"text"
— アプリ ユーザーは編集フィールドに任意のテキストを入力できます。既定では、テキスト編集フィールドは空です。"numeric"
— アプリ ユーザーは編集フィールドに数値のみを入力できます。ユーザーが数値以外の値を入力しようとすると、MATLAB はエラーのツールヒントを表示し、その値を直前の有効な値に戻します。既定では、数値編集フィールドには値 0 が表示されます。
parent
— 親コンテナー
Figure
オブジェクト (既定値) | Tab
オブジェクト | Panel
オブジェクト | ButtonGroup
オブジェクト | GridLayout
オブジェクト
親コンテナー。関数 uifigure
を使用して作成された Figure
オブジェクト、またはその子コンテナー (Tab
、Panel
、ButtonGroup
または GridLayout
) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure
を呼び出し、親コンテナーとして機能する新しい Figure
オブジェクトを作成します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
EditField
オブジェクトと NumericEditField
オブジェクトは、異なるプロパティのセットをサポートします。プロパティの完全なリストと各オブジェクトの説明については、対応するプロパティのページを参照してください。
EditField のプロパティ —
style
が"text"
である場合 (既定)NumericEditField のプロパティ —
style
が"numeric"
である場合
バージョン履歴
R2016a で導入R2022b: 編集フィールドのテキストの有効な長さと入力型の指定
テキスト編集フィールドの入力制約を指定します。
CharacterLimits
プロパティを使用して、許可する最大文字数と最小文字数を指定します。InputType
プロパティを使用して、許可する文字の型を制限します。
詳細については、EditField のプロパティ を参照してください。
R2021a: プレースホルダー テキストの指定
Placeholder
プロパティを使用して、想定される編集フィールドの入力を説明する簡単なヒントを提供します。
詳細については、EditField のプロパティ を参照してください。
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)