ListBox 속성
목록 상자의 모양과 동작 제어
목록 상자는 목록의 항목을 표시하는 UI 컴포넌트입니다. 속성은 목록 상자의 모양과 동작을 제어합니다. 다음과 같이 점 표기법을 사용하여 특정 객체와 속성을 참조하십시오.
fig = uifigure; list = uilistbox(fig); list.Items = ["Red","Green","Blue"];
목록 상자
Value
— 값
Items
의 요소 | ItemsData
의 요소 | {}
값으로, Items
배열, ItemsData
배열 또는 빈 셀형 배열로 지정됩니다. 기본적으로 Value
는 Items
의 첫 번째 요소입니다.
선택 항목을 지정하지 않으려면 Value
를 빈 셀형 배열로 설정하십시오.
Value
를 Items
의 요소로 지정하면 해당 요소와 일치하는 목록 항목이 선택됩니다. ItemsData
가 비어 있지 않으면 Value
를 ItemsData
의 요소로 설정해야 하며 목록 상자의 목록에서 관련 항목이 선택됩니다.
Items
— 목록 상자 항목
{'Item 1','Item 2', 'Item 3', 'Item 4'}
(디폴트 값) | 문자형 벡터로 구성된 1×n 셀형 배열 | string형 배열 | ...
목록 상자 항목으로, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 1차원 categorical형 배열로 지정됩니다. 중복 요소가 허용됩니다. 목록 상자는 Items
배열에 있는 요소 수만큼 옵션을 표시합니다. 이 속성을 categorical형 배열로 지정할 경우 MATLAB®은 전체 범주 집합이 아닌 배열에 있는 값을 사용합니다.
ItemsData
— Items
속성값의 각 요소와 관련된 데이터
빈 배열([]
) (디폴트 값) | 1×n 숫자형 배열 | 1×n 셀형 배열
Items
속성값의 각 요소와 관련된 데이터로, 1×n 숫자형 배열 또는 1×n 셀형 배열로 지정됩니다. 중복 요소가 허용됩니다.
예를 들어, Items
값을 직원 이름으로 설정하면 ItemsData
값을 해당 직원 ID 번호로 설정할 수 있습니다. 앱 사용자에게는 ItemsData
값이 표시되지 않습니다.
ItemsData
값과 Items
값의 배열 요소 수가 일치하지 않으면 다음 중 하나가 발생합니다.
ItemsData
값이 비어 있으면Items
값의 모든 요소가 앱 사용자에게 표시됩니다.ItemsData
값의 요소가Items
값의 요소보다 많으면Items
값의 모든 요소가 앱 사용자에게 표시됩니다. 하지만 MATLAB은ItemsData
의 추가 요소를 무시합니다.ItemsData
값이 비어 있지 않지만Items
값보다 적은 수의 요소가 있으면 앱 사용자에게는ItemsData
값에 대응하는 요소를 가진Items
값의 요소만 표시됩니다.
예: {'One','Two','Three'}
예: [10 20 30 40]
ValueIndex
— 항목에 있는 값의 인덱스
1
(디폴트 값) | 양의 정수
항목 목록 또는 항목 데이터에 있는 컴포넌트 값의 인덱스로, 양의 정수로 지정됩니다.
대부분의 경우 Value
속성을 사용하여 컴포넌트 값을 쿼리하고 업데이트할 수 있습니다. 그러나 Items
속성과 ItemsData
속성이 모두 비어 있지 않은 경우에는 ValueIndex
속성이 유용할 수 있습니다. 이 경우 ValueIndex
속성을 사용하여 현재 값에 해당하는 Items
의 요소를 쿼리할 수 있습니다.
fig = uifigure; lb = uilistbox(fig, ... "Items",["Red","Green","Blue"], ... "ItemsData",["#F00","#0F0","#00F"]); idx = lb.ValueIndex; disp(lb.Items(idx) + ": " + lb.Value)
Red: #F00
글꼴과 색상
FontName
— 글꼴 이름
시스템에서 지원하는 글꼴 이름
글꼴 이름으로, 시스템에서 지원하는 글꼴 이름으로 지정됩니다. 디폴트 글꼴은 운영 체제와 로캘에 따라 다릅니다.
지정된 글꼴을 사용할 수 없는 경우, MATLAB은 앱을 실행 중인 시스템에서 제공하는 글꼴 중 가장 잘 맞는 글꼴을 사용합니다.
예: 'Arial'
FontSize
— 글꼴 크기
양수
글꼴 크기로, 양수로 지정됩니다. 측정 단위는 픽셀입니다. 디폴트 글꼴 크기는 운영 체제와 로캘에 따라 다릅니다.
예: 14
FontWeight
— 글꼴 두께
'normal'
(디폴트 값) | 'bold'
글꼴 두께로, 다음 값 중 하나로 지정됩니다.
'normal'
— 보통 글꼴. 글꼴별로 정의된 디폴트 두께'bold'
—'normal'
보다 더 두꺼운 문자 윤곽선
모든 글꼴에 굵은 글꼴 두께가 있는 것은 아닙니다. 굵은 글꼴 두께가 없는 글꼴의 경우 'bold'
를 지정하면 일반 글꼴 두께가 됩니다.
FontAngle
— 글꼴 각도
'normal'
(디폴트 값) | 'italic'
글꼴 각도로, 'normal'
또는 'italic'
으로 지정됩니다. 모든 글꼴에 기울임꼴 글꼴이 있는 것은 아닙니다. 기울임꼴 글꼴이 없는 글꼴의 경우 'italic'
을 지정하면 일반 글꼴 각도가 됩니다.
FontColor
— 글꼴 색
[0 0 0]
(디폴트 값) | RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
| ...
글꼴 색으로, RGB 3색, 16진수 색 코드 또는 표에 나열된 옵션 중 하나로 지정됩니다.
RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.
RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는
[0,1]
이어야 합니다(예:[0.4 0.6 0.7]
).16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(
#
)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0
에서F
사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드"#FF8800"
,"#ff8800"
,"#F80"
및"#f80"
은 모두 동일합니다.
몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.
색 이름 | 짧은 이름 | RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.
RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
BackgroundColor
— 배경색
[1 1 1]
(디폴트 값) | RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
| ...
배경색으로, RGB 3색, 16진수 색 코드 또는 표에 나열된 색 옵션 중 하나로 지정됩니다.
RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.
RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는
[0,1]
이어야 합니다(예:[0.4 0.6 0.7]
).16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(
#
)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0
에서F
사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드"#FF8800"
,"#ff8800"
,"#F80"
및"#f80"
은 모두 동일합니다.
몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.
색 이름 | 짧은 이름 | RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.
RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
StyleConfigurations
— 추가된 스타일의 구성
빈 n
×3 table형 배열 (디폴트 값) | n
×3 table형 배열
읽기 전용 속성입니다.
uistyle
함수를 사용하여 만든 추가된 스타일 구성으로, n
×3 table형 배열로 반환됩니다. table형 배열의 각 행은 목록 상자에 현재 적용되는 스타일에 해당합니다. 연이어 추가된 스타일에는 n+1
의 스타일 순서 번호가 부여됩니다. Target
및 TargetIndex
열은 목록 상자에서 어떤 열에 스타일이 추가되었는지를 지정합니다. Style
열은 스타일 클래스 이름을 지정합니다.
removeStyle
함수를 사용하여 목록 상자에서 스타일을 제거하려면 이 속성을 사용하십시오.
예제: 스타일 제거하기
먼저, 두 가지 스타일을 목록 상자에 추가합니다.
fig = uifigure; fig.Position = [100 100 300 250]; lb = uilistbox(fig); s1 = uistyle("FontColor","blue"); s2 = uistyle("FontColor","red"); addStyle(lb,s1,"item",1); addStyle(lb,s2,"item",[2 3 4]);
lb.StyleConfigurations
를 쿼리하면 MATLAB은 2×3 table형 배열을 반환합니다. 파란색 글꼴 스타일이 목록 상자에 먼저 추가되었으므로 스타일 순서 번호는 1
입니다. 레벨 스타일의 TargetIndex
값 {[ 1]}
은 목록 상자의 첫 번째 항목에 스타일이 적용되었음을 나타냅니다. 마찬가지로 두 번째 스타일이 목록 상자의 마지막 3개 항목에 추가되었습니다.
lb.StyleConfigurations
ans = 2×3 table Target TargetIndex Style ______ ___________ _________________________ 1 item {[ 1]} 1×1 matlab.ui.style.Style 2 item {[2 3 4]} 1×1 matlab.ui.style.Style
스타일 순서 번호 2
를 지정하여 목록 상자에 추가된 두 번째 스타일을 제거합니다. 첫 번째 스타일만 사용하도록 컴포넌트의 모양이 업데이트됩니다.
removeStyle(lb,2)
상호 작용
Visible
— 가시성 상태
'on'
(디폴트 값) | on/off 논리값
가시성 상태로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— 객체를 표시합니다.'off'
— 객체를 삭제하지 않고 숨깁니다. 보이지 않는 UI 컴포넌트의 속성에 계속 액세스할 수 있습니다.
앱을 더 빨리 시작하려면 시작 시 나타날 필요가 없는 모든 UI 컴포넌트에 대해 Visible
속성을 'off'
로 설정하십시오.
Multiselect
— 여러 개의 항목 선택
'off'
(디폴트 값) | on/off 논리값
여러 개의 항목 선택으로, 'off'
또는 'on'
이나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정하면 사용자가 동시에 여러 항목을 선택할 수 있습니다.
Enable
— 작동 상태
'on'
(디폴트 값) | on/off 논리값
작동 상태로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을
'on'
으로 설정하면 앱 사용자가 컴포넌트와 상호 작용할 수 있습니다.이 속성을
'off'
로 설정하면 컴포넌트가 희미하게 표시되어 앱 사용자가 컴포넌트와 상호 작용할 수 없으며 컴포넌트가 콜백을 트리거하지 않음을 나타냅니다.
Tooltip
— 툴팁
''
(디폴트 값) | 문자형 벡터 | 문자형 벡터로 구성된 셀형 배열 | string형 배열 | 1차원 categorical형 배열
툴팁으로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 1차원 categorical형 배열로 지정됩니다. 사용자가 런타임에 컴포넌트 위에 포인터를 올려놓을 때 메시지가 표시되도록 하려면 이 속성을 사용합니다. 툴팁은 컴포넌트가 비활성화된 경우에도 표시됩니다. 여러 줄로 된 텍스트를 표시하려면 문자형 벡터로 구성된 셀형 배열 또는 string형 배열을 지정하십시오. 배열 내 각 요소는 텍스트의 한 줄에 해당합니다. 이 속성을 categorical형 배열로 지정할 경우 MATLAB은 전체 범주 집합이 아닌 배열에 있는 값을 사용합니다.
ContextMenu
— 상황별 메뉴
빈 GraphicsPlaceholder
배열 (디폴트 값) | ContextMenu
객체
상황별 메뉴로, uicontextmenu
함수를 사용하여 만든 ContextMenu
객체로 지정됩니다. 컴포넌트를 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오.
위치
Position
— 목록 상자의 위치와 크기
[100 100 100 74]
(디폴트 값) | [left bottom width height]
부모 컨테이너를 기준으로 한 목록 상자의 위치 및 크기로, 벡터 [left bottom width height]
로 지정됩니다. 다음 표에서는 벡터의 각 요소를 설명합니다.
요소 | 설명 |
---|---|
left | 부모 컨테이너의 왼쪽 내부 가장자리와 목록 상자의 왼쪽 외부 가장자리 사이의 거리 |
bottom | 부모 컨테이너의 내부 하단 가장자리와 목록 상자의 외부 하단 가장자리 사이의 거리 |
width | 목록 상자의 오른쪽과 왼쪽 외부 가장자리 사이의 거리 |
height | 목록 상자의 상단과 하단 외부 가장자리 사이의 거리 |
모든 측정값은 픽셀 단위입니다.
Position
값은 부모 컨테이너의 그리기 가능 영역을 기준으로 합니다. 그리기 가능 영역은 컨테이너의 경계 내부 영역이며 장식(예: 메뉴 모음, 제목)이 차지하는 영역은 포함되지 않습니다.
예: [100 100 100 200]
InnerPosition
— 목록 상자의 내부 위치와 크기
[100 100 77 78]
(디폴트 값) | [left bottom width height]
목록 상자의 내부 위치와 크기로, [left bottom width height]
로 지정됩니다. 위치 값은 부모 컨테이너를 기준으로 합니다. 모든 측정값은 픽셀 단위입니다. 이 속성값은 Position
속성과 동일합니다.
OuterPosition
— 목록 상자의 외부 위치와 크기
[100 100 77 78]]
(디폴트 값) | [left bottom width height]
읽기 전용 속성입니다.
목록 상자의 외부 위치와 크기로, [left bottom width height]
로 반환됩니다. 위치 값은 부모 컨테이너를 기준으로 합니다. 모든 측정값은 픽셀 단위입니다. 이 속성값은 Position
속성과 동일합니다.
Layout
— 레이아웃 옵션
빈 LayoutOptions
배열 (디폴트 값) | GridLayoutOptions
객체
레이아웃 옵션으로, GridLayoutOptions
객체로 지정됩니다. 이 속성은 그리드 레이아웃 컨테이너의 자식인 컴포넌트의 옵션을 지정합니다. 컴포넌트가 그리드 레이아웃 컨테이너의 자식이 아닌 경우, 예를 들어 Figure 또는 패널의 자식인 경우, 이 속성은 비어 있고 영향을 미치지 않습니다. 그러나 컴포넌트가 그리드 레이아웃 컨테이너의 자식인 경우 GridLayoutOptions
객체에서 Row
속성과 Column
속성을 설정하여 그리드의 원하는 행과 열에 컴포넌트를 배치할 수 있습니다.
예를 들어, 이 코드는 부모 그리드의 3행 2열에 목록 상자를 배치합니다.
g = uigridlayout([4 3]); list = uilistbox(g); list.Layout.Row = 3; list.Layout.Column = 2;
목록 상자가 여러 열 또는 행에 걸쳐 표시되도록 하려면 Row
속성 또는 Column
속성을 요소를 2개 가진 벡터로 지정하십시오. 예를 들어, 아래 목록 상자는 2
열에서 3
열까지 표시됩니다.
list.Layout.Column = [2 3];
콜백
ValueChangedFcn
— 값 변경 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
값 변경 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 사용자가 목록 상자에서 다른 항목을 선택할 때 실행됩니다. Value
속성 설정이 프로그래밍 방식으로 변경되는 경우에는 실행되지 않습니다.
이 콜백 함수는 사용자와 목록 상자의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 ValueChangedData
객체에 전달합니다. 앱 디자이너에서는 이 인수를 event
라고 부릅니다. 점 표기법을 사용하여 객체 속성을 쿼리할 수 있습니다. 예를 들어, event.PreviousValue
는 목록 상자의 이전 값을 반환합니다. ValueChangedData
객체는 문자형 벡터로 지정된 콜백 함수에 사용할 수 없습니다.
다음 표에는 ValueChangedData
객체의 속성 목록이 나열되어 있습니다.
속성 | 값 |
---|---|
Value | 앱 사용자의 가장 최근 상호 작용 직후의 목록 상자 값 |
PreviousValue | 앱 사용자의 가장 최근 상호 작용 직전의 목록 상자 값 |
Source | 콜백을 실행하는 컴포넌트 |
EventName | 'ValueChanged' |
콜백을 작성하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
ClickedFcn
— 클릭 때 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
클릭 때 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 사용자가 목록 상자의 아무 곳이나 클릭할 때 실행됩니다.
이 콜백 함수는 사용자와 목록 상자의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 ClickedData
객체에 전달합니다. 앱 디자이너에서는 이 인수를 event
라고 부릅니다. 점 표기법을 사용하여 객체 속성을 쿼리할 수 있습니다. 예를 들어, event.InteractionInformation
은 목록 상자에서 사용자가 클릭한 위치에 대한 정보를 반환합니다. ClickedData
객체는 문자형 벡터로 지정된 콜백 함수에 사용할 수 없습니다.
다음 표에는 ClickedData
객체 속성이 나열되어 있습니다.
속성 | 값 |
---|---|
InteractionInformation | 앱 사용자가 컴포넌트에서 클릭한 위치에 대한 정보. 이 정보는 다음 속성이 있는 객체로 저장됩니다.
점 표기법을 사용하여 객체 속성을 쿼리할 수 있습니다. 예를 들어, |
Source | 콜백을 실행하는 컴포넌트 |
EventName | 'Clicked' |
다음 표에는 해당 목록 상자 컴포넌트와 관련된 InteractionInformation
객체 속성이 나열되어 있습니다.
속성 | 값 |
---|---|
Item | 클릭된 목록 상자 항목의 인덱스로, 스칼라로 반환됩니다. 사용자가 목록 상자에서 어떤 항목과도 연결되어 있지 않은 영역을 클릭했다면 |
Location | 목록 상자 부모 컨테이너의 왼쪽 하단 코너를 기준으로 사용자가 클릭한 위치로,
|
ScreenLocation | 주 디스플레이의 왼쪽 하단 코너를 기준으로 사용자가 클릭한 위치로,
|
콜백을 작성하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
예제: 목록 상자가 클릭되었을 때 창 열기
색을 나타내는 항목이 있는 목록 상자를 만듭니다. 사용자가 목록 상자를 클릭할 때 실행되는 ClickedFcn
콜백 함수인 openWindow
를 지정합니다. openWindow
함수에서는 다음을 수행합니다.
event.InteractionInformation
객체를 사용하여 사용자가 항목을 클릭했는지에 관한 정보에 액세스합니다.사용자가 항목을 클릭하면(어떤 항목과도 연결되어 있지 않은 목록 상자의 위치를 클릭한 것이 아님), 사용자가 클릭한 위치 및 클릭한 항목과 연결된 색을 쿼리합니다.
사용자가 클릭한 위치에 해당 항목 색의 창을 새로 엽니다.
이 예제를 해 보려면 코드를 새 스크립트에 저장하고 실행하십시오. 목록 상자의 항목을 클릭하여 새 창을 엽니다.
fig = uifigure; lb = uilistbox(fig); lb.Items = ["Red","Yellow","Blue"]; lb.ItemsData = ["r","y","b"]; lb.ClickedFcn = @openWindow; function openWindow(lb,event) idx = event.InteractionInformation.Item; if ~isempty(idx) p = event.InteractionInformation.ScreenLocation; color = lb.ItemsData(idx); fig2 = uifigure("Position",[p 150 150]); fig2.Color = color; end end
DoubleClickedFcn
— 더블 클릭 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
더블 클릭 때 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 사용자가 목록 상자의 아무 곳이나 더블 클릭할 때 실행됩니다.
이 콜백 함수는 사용자와 목록 상자의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 DoubleClickedData
객체에 전달합니다. 앱 디자이너에서는 이 인수를 event
라고 부릅니다. 점 표기법을 사용하여 객체 속성을 쿼리할 수 있습니다. 예를 들어, event.InteractionInformation
은 목록 상자에서 사용자가 더블 클릭한 위치에 대한 정보를 반환합니다. DoubleClickedData
객체는 문자형 벡터로 지정된 콜백 함수에 사용할 수 없습니다.
다음 표에는 DoubleClickedData
객체 속성이 나열되어 있습니다.
속성 | 값 |
---|---|
InteractionInformation | 앱 사용자가 컴포넌트에서 클릭한 위치에 대한 정보. 이 정보는 다음 속성이 있는 객체로 저장됩니다.
점 표기법을 사용하여 객체 속성을 쿼리할 수 있습니다. 예를 들어, |
Source | 콜백을 실행하는 컴포넌트 |
EventName | 'DoubleClicked' |
다음 표에는 해당 목록 상자 컴포넌트와 관련된 InteractionInformation
객체 속성이 나열되어 있습니다.
속성 | 값 |
---|---|
Item | 더블 클릭한 목록 상자 항목의 인덱스로, 스칼라로 반환됩니다. 사용자가 목록 상자에서 어떤 항목과도 연결되어 있지 않은 영역을 더블 클릭했다면 |
Location | 목록 상자 부모 컨테이너의 왼쪽 하단 코너를 기준으로 사용자가 더블 클릭한 위치로,
|
ScreenLocation | 주 디스플레이의 왼쪽 하단 코너를 기준으로 사용자가 더블 클릭한 위치로,
|
콜백을 작성하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
예제: 목록 상자가 더블 클릭되었을 때 창 열기
색을 나타내는 항목이 있는 목록 상자를 만듭니다. 사용자가 목록 상자를 더블 클릭할 때 실행되는 DoubleClickedFcn
콜백 함수인 openWindow
를 지정합니다. openWindow
함수에서는 다음을 수행합니다.
event.InteractionInformation
객체를 사용하여 사용자가 항목을 더블 클릭했는지에 관한 정보에 액세스합니다.사용자가 항목을 더블 클릭하면(어떤 항목과 연결되어 있지 않은 목록 상자의 위치를 클릭한 것이 아님), 사용자가 더블 클릭한 위치 및 더블 클릭한 항목과 연결된 색을 쿼리합니다.
사용자가 더블 클릭한 위치에 해당 항목 색의 창을 새로 엽니다.
이 예제를 해 보려면 코드를 새 스크립트에 저장하고 실행하십시오. 목록 상자의 항목을 더블 클릭하여 새 창을 엽니다.
fig = uifigure; lb = uilistbox(fig); lb.Items = ["Red","Yellow","Blue"]; lb.ItemsData = ["r","y","b"]; lb.DoubleClickedFcn = @openWindow; function openWindow(lb,event) idx = event.InteractionInformation.Item; if ~isempty(idx) p = event.InteractionInformation.ScreenLocation; color = lb.ItemsData(idx); fig2 = uifigure("Position",[p 150 150]); fig2.Color = color; end end
CreateFcn
— 생성 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
객체 생성 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
이 속성은 MATLAB이 객체를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn
콜백을 실행하기 전에 모든 속성값을 초기화합니다. CreateFcn
속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.
기존 컴포넌트에 대해서는 CreateFcn
속성을 설정해도 아무 효과가 없습니다.
이 속성을 함수 핸들 또는 셀형 배열로 지정하면 생성 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo
함수를 사용하여 객체에 액세스하십시오.
DeleteFcn
— 삭제 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
객체 삭제 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
이 속성은 MATLAB에서 객체를 삭제할 때 실행할 콜백 함수를 지정합니다. MATLAB은 객체의 속성을 파괴하기 전에 DeleteFcn
콜백을 실행합니다. DeleteFcn
속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.
이 속성을 함수 핸들 또는 셀형 배열로 지정하면 삭제 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo
함수를 사용하여 객체에 액세스하십시오.
콜백 실행 컨트롤
Interruptible
— 콜백 중단
'on'
(디폴트 값) | on/off 논리값
콜백 중단으로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성은 실행중 콜백을 중단할 수 있는지 여부를 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.
실행중 콜백은 현재 실행되고 있는 콜백입니다.
인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.
MATLAB은 콜백 대기열을 처리하는 명령을 실행할 때마다 콜백 중단 동작을 결정합니다. 이러한 명령에는 drawnow
, figure
, uifigure
, getframe
, waitfor
, pause
가 포함됩니다.
실행중 콜백에 이러한 명령이 포함되어 있지 않으면 중단이 발생하지 않습니다. MATLAB은 먼저 실행중 콜백의 실행을 완료한 다음 인터럽트 콜백을 실행합니다.
실행중 콜백에 이러한 명령이 포함되어 있으면 실행중 콜백을 소유한 객체의 Interruptible
속성에서 중단을 발생시킬지 여부를 결정합니다.
Interruptible
값이'off'
이면 중단이 발생하지 않습니다. 대신 인터럽트 콜백을 소유한 객체의BusyAction
속성이 인터럽트 콜백을 삭제할지 아니면 콜백 대기열에 추가할지 결정합니다.Interruptible
값이'on'
이면 중단이 발생합니다. MATLAB이 다음번 콜백 대기열을 처리할 때 실행중 콜백의 실행을 중지하고 인터럽트 콜백을 실행합니다. 인터럽트 콜백이 완료된 후에는 MATLAB이 실행 중인 콜백의 실행을 재개합니다.
참고
콜백 중단과 실행은 다음 상황에서 다르게 동작합니다.
인터럽트 콜백이
DeleteFcn
,CloseRequestFcn
,SizeChangedFcn
콜백 중 하나이면Interruptible
속성값에 관계없이 중단이 발생합니다.실행중 콜백이 현재
waitfor
함수를 실행 중이면Interruptible
속성값에 관계없이 중단이 발생합니다.인터럽트 콜백을
Timer
객체가 소유한 경우 콜백은Interruptible
속성값에 관계없이 예약된 대로 실행됩니다.
BusyAction
— 콜백 대기
'queue'
(디폴트 값) | 'cancel'
콜백 대기로, 'queue'
나 'cancel'
로 지정됩니다. BusyAction
속성은 MATLAB이 인터럽트 콜백의 실행을 처리하는 방법을 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.
실행중 콜백은 현재 실행되고 있는 콜백입니다.
인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.
BusyAction
속성은 다음 조건이 모두 충족될 때만 콜백 대기 동작을 결정합니다.
이러한 조건에서는 인터럽트 콜백을 소유하는 객체의 BusyAction
속성값이 MATLAB에서 인터럽트 콜백을 처리하는 방식을 결정합니다. BusyAction
속성의 가능한 값은 다음과 같습니다.
'queue'
— 실행중 콜백이 실행을 마치고 나면 인터럽트 콜백이 처리되도록 대기열에 넣습니다.'cancel'
— 인터럽트 콜백을 실행하지 않습니다.
BeingDeleted
— 삭제 상태
on/off 논리값
읽기 전용 속성입니다.
삭제 상태로, matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 반환됩니다.
MATLAB은 DeleteFcn
콜백이 실행을 시작할 때 BeingDeleted
속성을 'on'
으로 설정합니다. BeingDeleted
속성은 컴포넌트 객체가 더 이상 존재하지 않을 때까지 'on'
으로 설정되어 유지됩니다.
객체를 쿼리하거나 수정하기 전에 BeingDeleted
속성의 값을 확인하여 이 객체가 곧 삭제될 것이 아님을 확인합니다.
부모/자식
Parent
— 부모 컨테이너
Figure
객체 (디폴트 값) | Panel
객체 | Tab
객체 | ButtonGroup
객체 | GridLayout
객체
부모 컨테이너로, uifigure
함수를 사용하여 만든 Figure
객체나 그 자식 컨테이너인 Tab
, Panel
, ButtonGroup
또는 GridLayout
중 하나로 지정됩니다. 컨테이너가 지정되지 않은 경우 MATLAB은 uifigure
함수를 호출하여 부모 컨테이너 역할을 하는 새 Figure
객체를 만듭니다.
HandleVisibility
— 객체 핸들의 가시성
'on'
(디폴트 값) | 'callback'
| 'off'
객체 핸들의 가시성으로, 'on'
, 'callback'
, 'off'
중 하나로 지정됩니다.
이 속성은 그 부모의 자식 목록에서 객체의 가시성을 제어합니다. 객체가 그 부모의 자식 목록에 표시되지 않는다면 객체 계층 구조를 검색하거나 핸들 속성을 쿼리하여 객체를 가져오는 함수는 객체를 반환하지 않습니다. 이러한 함수로는 get
, findobj
, clf
, close
가 있습니다. 객체는 표시되지 않아도 여전히 유효합니다. 객체에 액세스할 수 있으면 해당 속성을 설정하여 가져온 후 객체에 대해 작동하는 함수로 전달할 수 있습니다.
HandleVisibility 값 | 설명 |
---|---|
'on' | 객체는 항상 표시됩니다. |
'callback' | 명령줄에서 호출한 함수 내에서가 아니라, 콜백 내에서나 콜백이 호출한 함수 내에서 객체가 표시됩니다. 이 옵션은 명령줄에서 객체에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체 핸들에 액세스하는 것은 허용합니다. |
'off' | 객체는 항상 표시되지 않습니다. 이 옵션은 다른 함수에 의해 UI가 의도치 않게 변경되는 것을 방지하는 데 유용합니다. HandleVisibility 를 'off' 로 설정하여 해당 함수를 실행하는 동안 객체를 일시적으로 숨길 수 있습니다. |
식별자
Type
— 그래픽스 객체의 유형
'uilistbox'
읽기 전용 속성입니다.
그래픽스 객체의 유형으로, 'uilistbox'
로 반환됩니다.
Tag
— 객체 식별자
''
(디폴트 값) | 문자형 벡터 | string형 스칼라
객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag
값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj
함수를 사용하여 Tag
값을 기반으로 객체를 검색할 수 있습니다.
UserData
— 사용자 데이터
[]
(디폴트 값) | 배열
사용자 데이터로, 임의의 MATLAB 배열로 지정됩니다. 예를 들어, 스칼라, 벡터, 행렬, 셀형 배열, 문자형 배열, table형 또는 구조체형으로 지정할 수 있습니다. 이 속성을 사용하여 객체에 임의의 데이터를 저장할 수 있습니다.
앱 디자이너에서 작업하는 경우 앱에서 데이터를 공유할 수 있도록 UserData
속성을 사용하는 대신 퍼블릭 또는 프라이빗 속성을 생성하십시오. 자세한 내용은 앱 디자이너로 만든 앱 내부에서 데이터 공유하기 항목을 참조하십시오.
버전 내역
R2016a에 개발됨R2023b: 항목 목록에 있는 컴포넌트 값의 인덱스에 액세스
ValueIndex
속성을 사용하여 항목 목록에 있는 컴포넌트 값의 인덱스에 액세스합니다.
R2023a: 목록 상자 항목의 스타일 지정
uistyle
함수를 사용하여 목록 상자 컴포넌트에 대한 스타일을 만든 다음, addStyle
함수를 사용하여 개별 항목 또는 전체 목록 상자 컴포넌트에 스타일을 추가합니다.
R2022b: 사용자가 목록 상자를 클릭 또는 더블 클릭하는 것에 대한 응답 프로그래밍
ClickedFcn
또는 DoubleClickedFcn
콜백 속성을 사용하여 사용자가 목록 상자를 클릭 또는 더블 클릭하는 것에 대한 응답을 프로그래밍합니다.
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)