Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

uieditfield

텍스트 또는 숫자 편집 필드 구성요소 만들기

설명

edt = uieditfield는 새 Figure 창에 텍스트 편집 필드를 만들고 EditField 객체를 반환합니다. MATLAB®uifigure 함수를 호출하여 Figure를 만듭니다.

edt = uieditfield(style)은 지정된 스타일의 편집 필드를 만듭니다.

예제

edt = uieditfield(parent)는 지정된 부모 컨테이너에 편집 필드를 만듭니다. 부모 컨테이너는 uifigure 함수를 사용하여 만든 Figure이거나 그 자식 컨테이너 중 하나여야 합니다.

예제

edt = uieditfield(parent,style)은 지정된 부모 컨테이너에 지정된 스타일의 편집 필드를 만듭니다.

예제

edt = uieditfield(___,Name,Value)는 하나 이상의 Name,Value 쌍의 인수를 사용하여 객체 속성을 지정합니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이 옵션과 함께 사용하십시오.

예제

모두 축소

창 안에 텍스트 편집 필드를 만듭니다.

fig = uifigure;
edt = uieditfield(fig);

스타일을 숫자로 지정하여 숫자 편집 필드를 만듭니다.

fig = uifigure;
edt = uieditfield(fig,'numeric');

Panel을 부모 객체로 지정합니다.

fig = uifigure;
pnl = uipanel(fig);
edt = uieditfield(pnl,'numeric');

반올림을 사용하여 숫자 편집 필드를 만듭니다.

fig = uifigure;
edt = uieditfield(fig,'numeric',...
                    'RoundFractionalValues','on');

디폴트 제한을 결정합니다.

limits = edt.Limits
limits =

  -Inf   Inf

반환된 값은 제한이 없음을 나타냅니다.

제한을 0~100으로 변경합니다. (기본적으로 제한은 구간의 끝점을 포함합니다.)

edt.Limits = [0 100];

앱 사용자가 -5보다 크고 10보다 작거나 같은 값을 입력할 수 있는 숫자 편집 필드를 만듭니다.

fig = uifigure;
edt = uieditfield(fig,'numeric',...
                      'Limits', [-5 10],...
                      'LowerLimitInclusive','off',...
                      'UpperLimitInclusive','on',...
                      'Value', 5);

숫자 편집 필드에 제한을 벗어난 값을 입력하면 MATLAB에서 메시지를 표시합니다. 이 메시지는 문제점을 표시하고 값을 이전 유효값으로 복원합니다.

앱 사용자가 임의의 값을 입력하면 그 값을 항상 소수 두 자릿수와 지정된 단위를 사용하여 표시하는 숫자 편집 필드를 만듭니다. MATLAB은 값을 앱 사용자가 입력한 것과 정확히 일치하도록 저장합니다.

fig = uifigure;
edt = uieditfield(fig,'numeric',...
                      'ValueDisplayFormat', '%.2f Volts');

숫자 편집 필드에 5.5556을 입력한 다음 필드 바깥쪽을 클릭합니다. 편집 필드에 5.56 Volts가 표시됩니다.

MATLAB에서는 이 값을 5.5556으로 저장합니다. 편집 필드를 다시 클릭하면 5.5556이 표시됩니다. 지원되는 형식 표시 연산자의 전체 목록은 sprintf를 참조하십시오.

앱 사용자가 편집 필드에서 텍스트를 변경할 때 레이블이 해당 텍스트와 일치하게 업데이트되도록 ValueChangedFcn 콜백을 코딩합니다.

다음 코드를 MATLAB 경로의 textValue.m에 저장합니다.

function textValue
% Create figure and components.

fig = uifigure('Position',[100 100 366 270]);

lbl = uilabel(fig,...
      'Position',[130 100 100 15]);

txt = uieditfield(fig,...
      'Position',[100 175 100 22],...
      'ValueChangedFcn',@(txt,event) textChanged(txt,lbl));
end

% Code the callback function.
function textChanged(txt,lbl)
lbl.Text = txt.Value;
end

textValue를 실행하고 편집 필드에 Velocity를 입력합니다. 편집 필드 바깥쪽을 클릭하여 콜백을 트리거합니다.

앱 사용자가 편집 필드에서 값을 변경할 때 슬라이더가 해당 값과 일치하게 업데이트되도록 ValueChangedFcn 콜백을 코딩합니다.

다음 코드를 MATLAB 경로의 numericEditFieldValue.m 에 저장합니다.

function numericEditFieldValue
% Create figure and components

fig = uifigure('Position',[100 100 366 270]);

slider = uislider(fig,...
    'Position',[100 140 120 3]);

numfld = uieditfield(fig,'numeric',...
    'Position',[110 200 100 22],...
    'ValueChangedFcn',@(numfld,event) numberChanged(numfld,slider));

end

% Create ValueChangedFcn callback
function numberChanged(numfld,slider)
slider.Value = numfld.Value;
end

numericEditFieldValue를 실행합니다.

숫자 편집 필드에 0~100 사이의 값을 입력하고 필드 바깥쪽을 클릭합니다. 슬라이더가 해당 숫자 편집 필드 값으로 이동합니다.

하나의 세션 동안 입력된 값들의 기록을 유지하도록 ValueChangedFcn 콜백을 코딩합니다. 앱 사용자가 편집 필드에서 값을 변경하면 이전 필드 값이 텍스트 영역에서 유지되는 목록에 추가됩니다. 콜백은 event 인수에 반환된 PreviousValue 속성을 사용하여 텍스트 영역을 채웁니다.

다음 코드를 MATLAB 경로의 logNames.m에 저장합니다.

function logNames
% Create figure and components

fig = uifigure('Position',[100 100 366 400]);

loglist = uitextarea(fig,...
    'Position',[134 49 150 277],...    
    'Editable','off');

namefld = uieditfield(fig,'text',...
  'Value', 'Bob Langley',...
  'Position',[134 367 100 22],...
  'ValueChangedFcn',@(namefld,event) nValChanged(namefld,event,loglist));
end

% Create ValueChangedFcn callback
function nValChanged(namefld,event,loglist)
newvalue = event.Value;
previousValue = event.PreviousValue;

loglist.Value = [previousValue; loglist.Value];

end

logNames를 실행합니다.

텍스트 편집 필드에 이름을 입력하고 Enter를 누를 때마다 텍스트 편집 필드에 들어 있던 직전 이름이 텍스트 영역에 추가됩니다.

입력 인수

모두 축소

편집 필드의 유형으로, 다음 중 하나로 지정됩니다.

  • 'text'

    기본적으로 텍스트 편집 필드는 비어 있습니다.

  • 'numeric'

    기본적으로 숫자 편집 필드에는 값 0이 표시됩니다. 앱 사용자가 숫자 편집 필드에 숫자가 아닌 값을 입력하면 MATLAB은 오류 툴팁을 열고 값을 마지막 유효 값으로 되돌립니다.

부모 컨테이너로, uifigure 함수를 사용하여 만든 Figure 객체나 그 자식 컨테이너인 Tab, Panel, ButtonGroup 또는 GridLayout 중 하나로 지정됩니다. 부모 컨테이너를 지정하지 않을 경우 MATLAB은 uifigure 함수를 호출하여 부모 컨테이너 역할을 하는 새 Figure 객체를 만듭니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

EditFieldNumericEditField 객체는 서로 다른 속성 세트를 지원합니다. 전체 속성 목록과 객체에 대한 설명을 보려면 관련 속성 페이지를 참조하십시오.

R2016a에 개발됨