uieditfield
텍스트 또는 숫자 편집 필드 컴포넌트 만들기
구문
설명
는 새 Figure에 텍스트 편집 필드를 만들고 ef
= uieditfieldEditField
객체를 반환합니다. MATLAB®은 uifigure
함수를 호출하여 Figure를 만듭니다.
은 지정된 스타일의 편집 필드를 만듭니다. 편집 필드 스타일은 ef
= uieditfield(style
)"text"
또는 "numeric"
일 수 있습니다.
는 하나 이상의 이름-값 인수로 지정된 속성이 있는 편집 필드를 만듭니다. 예를 들어, ef
= uieditfield(___,Name,Value
)Value
속성을 사용하여 편집 필드 값을 지정합니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이 옵션과 함께 사용하십시오.
예제
텍스트 편집 필드 만들기
숫자 편집 필드 만들기
편집 필드의 속성값을 설정 및 액세스하기
숫자 편집 필드를 만들고 제한이 0~100이 되도록 설정합니다.
fig = uifigure; ef = uieditfield(fig,"numeric", ... "Limits",[0 100]);
디폴트 값을 확인합니다.
val = ef.Value
val = 0
편집 필드의 값을 50으로 설정합니다.
ef.Value = 50;
숫자 편집 필드의 표시 형식 지정하기
앱 사용자가 임의의 값을 입력하면 그 값을 항상 소수 두 자릿수와 지정된 단위를 사용하여 표시하는 숫자 편집 필드를 만듭니다. 편집 필드는 값을 앱 사용자가 입력한 것과 정확히 일치하는 값을 저장합니다.
fig = uifigure; ef = uieditfield(fig,"numeric", ... "ValueDisplayFormat","%.2f Volts");
숫자 편집 필드에 5.5556
을 입력한 다음 필드 바깥쪽을 클릭합니다. 편집 필드에 5.56 Volts
가 표시됩니다.
편집 필드는 사용자가 입력한 것과 정확히 일치하는 값(5.5556
)을 Value
속성에 저장합니다. 편집 필드를 다시 클릭하면 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에 개발됨MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 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)