Main Content

uicontrol

사용자 인터페이스 컨트롤 만들기

설명

참고

uicontrol 함수는 앱 디자이너 또는 uifigure 함수를 사용하여 만든 앱에서는 지원되지 않습니다. 이러한 컨텍스트에서 대신 사용 가능한 구성요소 목록은 앱 작성 구성요소 항목을 참조하십시오.

c = uicontrol은 현재 Figure 내에 누름 버튼(디폴트 사용자 인터페이스 컨트롤)을 만들고 UIControl 객체를 반환합니다. Figure가 존재하지 않으면 MATLAB®figure 함수를 호출하여 Figure를 만듭니다.

예제

c = uicontrol(Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 지정된 속성값으로 사용자 인터페이스 컨트롤을 만듭니다. 예를 들어, 'Style','checkbox'는 체크박스를 만듭니다.

c = uicontrol(parent)는 현재 Figure 대신 지정된 부모 내에 디폴트 사용자 인터페이스 컨트롤을 만듭니다.

예제

c = uicontrol(parent,Name,Value)는 사용자 인터페이스 컨트롤의 부모와 하나 이상의 이름-값 쌍의 인수를 지정합니다.

예제

uicontrol(c)는 이전에 정의된 사용자 인터페이스 컨트롤에 포커스를 줍니다.

예제

모두 축소

'Style' 이름-값 쌍의 인수를 'radiobutton'으로 지정하여 라디오 버튼을 만듭니다. 'String' 이름-값 쌍의 인수에 값을 지정하여 라디오 버튼에 레이블을 지정합니다.

c = uicontrol('Style','radiobutton','String','Option 1');

Figure window with a radio button labeled "Option 1"

Figure와 이 Figure 내에 위치한 패널을 만듭니다. 그런 다음 이 패널을 부모로, 'Style''slider'로 지정한 상태로 uicontrol 함수를 호출하여 패널 내에 슬라이더를 만듭니다. 다음으로, 슬라이더 Value 속성을 0.5로 설정합니다.

f = figure;
p = uipanel(f,'Position',[0.1 0.1 0.35 0.65]);
c = uicontrol(p,'Style','slider');
c.Value = 0.5;

Figure window with a panel that contains a slider

클릭하면 선택 항목 목록을 표시하는 팝업 메뉴를 만듭니다. 콜백 함수를 사용하여 사용자가 선택한 목록 항목을 확인하고 사용자가 선택한 항목을 MATLAB 명령 창에 표시합니다.

다음 코드를 mytemps.m으로 저장합니다. 이 코드는 목록 항목 3개를 포함하는 팝업 메뉴가 있는 Figure 창을 만듭니다. 그런 다음, 콜백 함수를 사용하여 팝업 메뉴의 Value 속성과 String 속성을 쿼리한 다음 선택된 항목을 명령줄에 표시합니다.

function mytemps
f = figure;
c = uicontrol(f,'Style','popupmenu');
c.Position = [20 75 60 20];
c.String = {'Celsius','Kelvin','Fahrenheit'};
c.Callback = @selection;

    function selection(src,event)
        val = c.Value;
        str = c.String;
        str{val};
        disp(['Selection: ' str{val}]);
    end

end

프로그램을 실행하여 Figure와 그 내용을 생성합니다.

mytemps

Figure window with a pop-up menu. The pop-up menu has the list items "Celsius", "Kelvin", and "Fahrenheit".

다른 메뉴 항목을 선택하여 선택한 항목을 변경합니다. 예를 들어, 팝업 메뉴에서 "Kelvin"을 선택하면 명령줄에 Selection: Kelvin이라는 텍스트가 표시됩니다.

클릭하면 데이터를 플로팅하는 누름 버튼을 만듭니다.

다음 코드를 pushbuttonPlot.m으로 저장합니다. 이 코드는 좌표축과 누름 버튼을 포함하는 Figure 창을 만듭니다. 버튼을 클릭할 때마다 콜백 함수가 정규분포된 5개의 난수의 막대 차트를 실행하고 플로팅합니다.

function pushbuttonPlot
f = figure;
ax = axes(f);
ax.Units = 'pixels';
ax.Position = [75 75 325 280]
c = uicontrol;
c.String = 'Plot Data';
c.Callback = @plotButtonPushed;

    function plotButtonPushed(src,event)
        bar(randn(1,5));
    end

end

pushbuttonPlot을 실행하고 누름 버튼을 클릭하면 MATLAB이 데이터를 플로팅합니다.

Figure window with a plot and a push button labeled "Plot Data"

편집 가능한 텍스트 필드를 만들고 텍스트 필드의 함수 핸들을 uicontrol 함수로 전달하여 텍스트 필드로 포커스를 이동합니다. 이 동작은 커서가 편집 가능한 텍스트 필드 내에서 활성화되고 깜박이도록 합니다.

c = uicontrol('Style','edit');
uicontrol(c);

Figure window with an edit field

입력 인수

모두 축소

부모 객체로, figure 함수를 사용하여 만든 Figure 객체나 그 자식 컨테이너인 Panel, ButtonGroup 또는 Tab 객체 중 하나로 지정됩니다. 사용자 인터페이스 컨트롤을 만들 때 이 인수를 사용하여 부모 컨테이너를 지정합니다.

사용자 인터페이스 컨트롤 객체로, UIControl 객체로 지정됩니다. 이 인수를 사용하여 커서를 놓고자 하는 이전에 정의된 사용자 인터페이스 컨트롤을 지정합니다.

예: uicontrol(c)

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: uicontrol('Style','checkbox')는 사용자 인터페이스 컨트롤의 스타일로 체크박스를 지정합니다.

참고

여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 UIControl 속성를 참조하십시오.

UIControl 객체의 스타일로, 다음 표의 값으로 지정됩니다.

Style 속성값예제설명
'pushbutton'Push button마우스 버튼을 놓을 때까지 눌린 상태로 표시되는 버튼.
'togglebutton'

Selected toggle button
Cleared toggle button

누름 버튼처럼 생겼으며 선택됨 또는 선택 취소됨 상태를 시각적으로 나타내는 버튼.
'checkbox'

Selected check box
Cleared check box

독립적으로 선택하거나 선택 취소할 수 있는 옵션.
'radiobutton'

Selected radio button
Cleared radio button

선택하면 그룹 내의 다른 옵션의 선택이 취소되도록 그룹의 일부를 형성하는 옵션.


일련의 라디오 버튼 그룹에 대한 상호 배타적인 동작을 구현하려면 버튼을 uibuttongroup 내에 배치하십시오.

'edit'

Editable text field that says, "Enter search term."

편집 가능한 텍스트 필드.


여러 텍스트 줄을 입력할 수 있도록 하려면 Max-Min > 1이 되도록 Max 속성과 Min 속성을 설정하십시오.

'text'

Static text field that says, "Select an item below:"

정적 텍스트 필드. 정적 텍스트는 다른 사용자 인터페이스 컨트롤에 레이블을 지정하거나 사용자에게 정보를 제공하거나 슬라이더와 연결된 값을 나타낼 때 사용됩니다.


정적 텍스트가 마우스 클릭에 반응하도록 만들려면 Enable 속성을 'Inactive'로 설정하고 ButtonDownFcn 콜백을 사용하여 응답을 코딩하십시오.

'slider'

Slider with the thumb at the leftmost location

사용자가 가로 막대 또는 세로 막대를 따라 누를 수 있는 "핸들" 버튼. 막대상의 버튼의 위치는 지정된 범위 내의 값을 나타냅니다.

'listbox'

List box with three items

사용자가 하나 이상의 항목을 선택할 수 있는 항목 목록. 팝업 메뉴와 달리 목록 상자는 클릭해도 확장되지 않습니다.


여러 항목을 선택할 수 있도록 하려면 Max-Min > 1이 되도록 Max 속성과 Min 속성을 설정하십시오. 목록 상자에서 여러 항목을 선택할 수 있는 경우에는 동작을 연기시키기 위해 목록 상자에 완료 누름 버튼을 연결해 둘 수 있습니다. 그런 다음, 목록 상자의 Value 속성을 실행시키려면 이 버튼에 대한 콜백을 사용하십시오.

'popupmenu'

Pop-up menu with three items

선택 항목 목록을 표시하도록 확장되는 팝업 메뉴(드롭다운 메뉴라고도 함). 목록에서 선택된 항목은 팝업 메뉴가 닫히면서 표시됩니다. 팝업 메뉴는 일련의 상호 배타적인 선택 항목을 제공할 때 사용합니다.

'frame''frame' 옵션은 권장되지 않습니다. 프레임 대신 uipanel 또는 uibuttongroup을 사용하십시오. GUIDE는 프레임이 포함된 UI에서 프레임을 계속 지원하지만 프레임 구성요소는 GUIDE 레이아웃 편집기 구성요소 팔레트에 나타나지 않습니다.

표시할 텍스트로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열, categorical형 배열 또는 세로줄로 구분된 행 벡터로 지정됩니다. Style 속성에 따라 사용할 수 있는 배열 형식이 달라집니다.

스타일 속성지원되는 배열 형식예제
'pushbutton'

문자형 벡터


문자형 벡터로 구성된 셀형 배열


string형 배열


categorical형 배열

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

'togglebutton'
'checkbox'
'radiobutton'
'edit'
'text'
'listbox'

문자형 벡터


문자형 벡터로 구성된 셀형 배열


string형 배열


categorical형 배열


세로줄로 구분된 행 벡터

'One'


{'One','Two','Three'}


["One" "Two" "Three"]


categorical({'one','two','three'})


'One|Two|Three'

'popupmenu'

참고

누름 버튼, 토글 버튼, 체크박스 또는 라디오 버튼에 대해 셀형 배열 또는 categorical형 배열을 지정하면 MATLAB은 배열의 첫 번째 요소만 표시합니다.

위치와 크기로, [left bottom width height] 형식의, 요소를 4개 가진 벡터로 지정됩니다. 디폴트 측정 단위는 픽셀입니다. 다음 표에서는 벡터의 각 요소를 설명합니다.

요소설명
left부모 컨테이너의 왼쪽 내부 가장자리와 사용자 인터페이스 컨트롤의 왼쪽 외부 가장자리 사이의 거리.
bottom부모 컨테이너의 내부 하단 가장자리와 사용자 인터페이스 컨트롤의 외부 하단 가장자리 사이의 거리.
width사용자 인터페이스 컨트롤의 오른쪽과 왼쪽 외부 가장자리 사이의 거리.
height사용자 인터페이스 컨트롤의 상단과 하단 외부 가장자리 사이의 거리.

Position 값은 부모 컨테이너의 그리기 가능 영역을 기준으로 합니다. 그리기 가능 영역은 컨테이너의 경계 내부 영역이며 제목이 차지하는 영역은 포함되지 않습니다. 부모 컨테이너가 Figure인 경우 메뉴 모음과 도구 모음도 그리기 가능 영역에서 제외됩니다.

현재 값으로, 숫자로 지정됩니다. 특정 사용자 인터페이스 컨트롤의 상태를 쿼리하거나 수정할 때 사용합니다. 다음 표에서는 특정 UIControl 스타일과 관련된 Value 속성을 설명합니다.

스타일 속성Value 속성에 대한 설명
'togglebutton'
  • Selected: Max 속성의 값.

  • Cleared: Min 속성의 값.

'checkbox'
  • Selected: Max 속성의 값.

  • Cleared: Min 속성의 값.

'radiobutton'
  • Selected: Max 속성의 값.

  • Cleared: Min 속성의 값.

'slider'슬라이더 막대에 있는 핸들의 위치와 관련된 값.
'listbox'목록 상자에서 선택한 항목에 해당하는 배열 인덱스. 값 1(디폴트 값)은 목록의 첫 번째 항목에 해당합니다. 여러 항목이 선택된 경우 Value 속성은 행 인덱스를 벡터로 저장합니다.
'popupmenu'팝업 메뉴에서 선택한 항목에 해당하는 배열 인덱스. 값 1(디폴트 값)은 팝업 메뉴의 첫 번째 항목에 해당합니다.

버전 내역

R2006a 이전에 개발됨