UI Figure 속성
uifigure
기반 앱의 UI Figure 모양 및 동작 제어
UI Figure는 앱을 앱 디자이너에서 작성하거나 uifigure
함수를 사용하여 프로그래밍 방식으로 작성하기 위한 컨테이너입니다. 속성은 UI Figure의 모양과 동작을 제어합니다. 다음과 같이 점 표기법을 사용하여 특정 객체와 속성을 참조하십시오.
fig = uifigure; fig.Name = 'My App';
창 모양
Color
— 배경색
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" | |
"none" | 해당 없음 | 해당 없음 | 해당 없음 | 색 없음 |
다음은 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" |
WindowStyle
— 창 스타일
'normal'
(디폴트 값) | 'modal'
| 'alwaysontop'
창 스타일로, 다음 중 하나로 지정됩니다.
'normal'
— Figure 창은 다른 창에 독립적이며, Figure가 표시되는 동안 다른 창에 액세스할 수 있습니다.'modal'
— Figure는 기존의 모든 Figure 창 위에 normal 창 스타일로 표시되어, 맨 앞 Figure가 모달 상태로 존재하는 한 기존 Figure에 액세스할 수 없게 됩니다. 그러나 모달 Figure 이후에 새로 생성된 Figure는 모두 표시됩니다.여러 모달 창이 있는 경우 가장 최근에 생성된 창에 포커스가 유지되며, 이 가장 최근에 생성된 창은 숨겨지도록 설정되거나 일반 창 스타일로 돌아가거나 삭제될 때까지 다른 모든 창 위에 계속 남아 있습니다. 창이 사라지거나 WindowStyle normal로 돌아가거나 삭제되면 포커스는 마지막으로 포커스가 있던 창으로 복귀됩니다.
'alwaysontop'
— Figure는 모달 Figure 창과 MATLAB이 아닌 애플리케이션의 창을 포함하여 다른 모든 창 위에 표시됩니다. 다른 창에는 계속 액세스할 수 있습니다.
참고
다음은 WindowStyle
속성의 몇 가지 중요한 특성과 권장되는 모범 사례입니다.
UI 창을 만들 때는 항상
WindowStyle
속성을 지정하십시오. 또한 Figure의Resize
또는Position
속성을 설정하려는 경우에는 먼저WindowStyle
속성을 설정하십시오.Figure의
WindowStyle
속성은 Figure가 표시되도록 설정되거나 Figure에 자식이 포함된 경우 등 언제든지 사용자가 변경할 수 있습니다. 그러나 일부 시스템에서는 이 속성을 설정하면 시스템의 일반 창과 모달 창 구현 방식에 따라 Figure가 깜박이거나 사라졌다가 다시 나타날 수 있습니다. 최적의 시각적 결과를 얻으려면 생성 시에 또는 Figure가 표시되지 않을 때WindowStyle
속성을 설정하십시오.
UI Figure 모달 창 스타일 동작
WindowStyle
이 'modal'
로 설정된 경우, 이 UI Figure 창은 자신보다 앞서 만들어졌으며 Visible
속성이 'on'
으로 설정된 UI Figure 창의 키보드 및 마우스 상호 작용을 차단합니다. 예를 들어, 이 예제에서 Figure 3은 Figure 2에 대해 모달이고 Figure 2는 Figure 1에 대해 모달입니다.
fig1 = uifigure('Name','Figure 1'); fig1.WindowStyle = 'modal'; fig2 = uifigure('Name','Figure 2'); fig2.WindowStyle = 'modal'; fig3 = uifigure('Name','Figure 3'); fig3.WindowStyle = 'modal';
figure
함수로 만든 모달 Figure와 달리, uifigure
함수로 만든 모달 Figure는 figure 함수나 MATLAB 데스크탑으로 만든 Figure에 대한 액세스를 차단하지 않습니다. MATLAB을 제외한 애플리케이션 창과의 상호 작용도 차단되지 않습니다.
모달 Figure에 포커스가 있는 상태에서 Ctrl+C를 입력하면 해당 Figure는 'normal'
WindowStyle
속성 설정으로 되돌아갑니다. 따라서 사용자가 명령줄에 입력할 수 있습니다.
WindowStyle
속성이 'modal'
로 설정되고 Visible
속성이 'off'
로 설정된 UI Figure는 MATLAB에서 표시 가능해질 때까지 모달 형식으로 동작하지 않습니다. 따라서 모달 창을 삭제하는 대신 나중에 재사용할 수 있도록 숨겨둘 수 있습니다.
모달 Figure는 메뉴의 자식, 내장 메뉴 또는 도구 모음을 표시하지 않습니다. 그러나 모달 Figure에서 메뉴를 만들거나 메뉴의 자식이 있는 Figure에서 WindowStyle
속성 설정을 'modal'
로 변경하는 것은 오류가 아닙니다. 이유는, Menu
객체가 존재하고 있으며 Figure가 이를 유지하기 때문입니다. UI Figure의 WindowStyle
속성을 'normal'
로 재설정하면 메뉴가 표시됩니다.
WindowState
— 창 상태
'normal'
(디폴트 값) | 'minimized'
| 'maximized'
| 'fullscreen'
창 상태로, 다음 값 중 하나로 지정됩니다.
'normal'
— 창이 보통 상태로 표시됩니다.'minimized'
— 창이 축소되어 있으나, 창에서 계속 명령을 실행하여 속성을 가져오거나 설정하고, 자식을 추가하거나, 플롯을 만들 수 있습니다.'maximized'
— 창이 화면 전체를 채웁니다. 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 창의 코너에 표시됩니다. 창의 메뉴가 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.'fullscreen'
— 창이 화면 전체를 채웁니다. 그러나 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 숨겨집니다. 창의 메뉴가 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.
운영 체제에서 제공되는 최소화, 최대화 또는 복원 버튼을 클릭하면 WindowState
속성이 그에 따라 설정됩니다. Ctrl+F11(Windows® 및 Linux®) 또는 Ctrl+Command+F(macOS)를 누르면 'fullscreen'
상태가 전환됩니다. 도킹된 Figure에서 또는 MATLAB Online™에서 이 속성을 설정하는 것은 지원되지 않습니다.
UI Figure는 전체 화면 상태에서 직접 최소화할 수 없습니다.
위치와 크기
Position
— 테두리와 제목 표시줄은 제외한 UI Figure의 위치와 크기
[left bottom width height]
테두리와 제목 표시줄을 제외한 UI Figure의 위치와 크기로, [left bottom width height]
형식의, 요소를 4개 가진 벡터로 지정됩니다.
다음 표에서는 벡터의 각 요소를 설명합니다.
요소 | 설명 |
---|---|
left | 주 디스플레이 창의 왼쪽 가장자리부터 UI Figure 창의 왼쪽 내부 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다. |
bottom | 주 디스플레이의 하단 가장자리부터 UI Figure 창의 내부 하단 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다. |
width | UI Figure의 오른쪽과 왼쪽 내부 가장자리 사이의 거리. |
height | UI Figure의 상단과 하단 내부 가장자리 사이의 거리. |
Units
— 측정 단위
'pixels'
(디폴트 값) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
측정 단위로, 다음 표의 값 중 하나로 지정됩니다.
단위 값 | 설명 |
---|---|
'pixels' (디폴트 값) | 픽셀. Windows와 Macintosh 시스템에서 거리(단위: 픽셀)는 시스템 해상도와 관계가 없습니다. 즉, 다음과 같습니다.
Linux 시스템에서 픽셀 크기는 시스템 해상도에 의해 결정됩니다. |
'normalized' | 이 단위는 부모 컨테이너에 대해 정규화됩니다. 컨테이너의 왼쪽 아래 코너는 (0,0) 에 매핑되고 오른쪽 위 코너는 (1,1) 에 매핑됩니다. |
'inches' | 인치. |
'centimeters' | 센티미터. |
'points' | 포인트. 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm). |
'characters' | 이 단위는 다음과 같이 그래픽스 root 객체의 디폴트 uicontrol 글꼴을 기반으로 합니다.
디폴트 uicontrol 글꼴에 액세스하려면 |
MATLAB은 모든 단위를 부모 객체의 왼쪽 아래 코너부터 측정합니다.
대부분의 MATLAB 앱 작성 기능은 거리를 픽셀 단위로 측정하므로, 권장되는 값은 'pixels'
입니다.
참고
앱 디자이너는 픽셀 단위만 지원합니다. 앱 디자이너에서 부모 컨테이너를 기준으로 크기가 조정된 컨테이너를 만들려면 그리드 레이아웃 관리자를 사용하거나 자동 재배치 기능이 있는 앱을 만드십시오. 자세한 내용은 앱 디자이너에서 크기 조정 가능한 앱 관리하기 항목을 참조하십시오.
이 속성은 Position
속성에 영향을 미칩니다. Units
속성을 변경하는 경우, 디폴트 값을 상정하는 다른 함수에 영향을 미치지 않도록 계산을 완료한 후에 이 속성값을 디폴트 값으로 복원하는 것이 좋습니다.
Units
속성과 Position
속성을 지정하는 순서에 따라 다음과 같이 영향을 미칩니다.
Position
속성보다 먼저Units
를 지정하면 MATLAB은 지정한 단위를 사용하여Position
을 설정합니다.Position
속성 다음에Units
속성을 지정하면 MATLAB은 디폴트Units
를 사용하여 위치를 설정합니다. 그런 다음 MATLAB은Position
값을 지정한 단위의 상응하는 값으로 변환합니다.
InnerPosition
— 테두리와 제목 표시줄은 제외한 UI Figure의 위치와 크기
[left bottom width height]
테두리와 제목 표시줄을 제외한 UI Figure의 위치와 크기로, [left bottom width height]
형식의, 요소를 4개 가진 벡터로 지정됩니다. 모든 측정값은 Units
속성으로 지정된 단위로 표시됩니다.
이 속성값은 Position
속성값과 동일합니다.
Resize
— 크기 조정 가능
'on'
(디폴트 값) | on/off 논리값
크기 조정 가능 UI Figure로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정하면 UI Figure의 크기를 조정할 수 있습니다. 그러지 않으면 Figure는 크기를 조정할 수 없습니다.
AutoResizeChildren
— 자식 크기 자동 조정
'on'
(디폴트 값) | on/off 논리값
자식 크기 자동 조정으로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— 컨테이너 크기가 조정되면 자식 컴포넌트의 크기가 자동으로 조정됩니다.'off'
— 자식 컴포넌트의 크기가 조정되지 않습니다.
AutoResizeChildren
속성은 중첩 컨테이너 내의 자식이 아니라 컨테이너의 직속 자식에 영향을 미칩니다.
AutoResizeChildren
이 'on'
이면 일부 자식 컴포넌트의 크기가 자동으로 조정되지 않습니다. 예를 들어, 크기가 조정되지 않는 컴포넌트만 포함하는 레이블, 버튼, 컨테이너는 크기가 조정되지 않습니다.
크기 조정 동작을 사용자 지정하려면 컨테이너에 그리드 레이아웃 관리자를 추가하거나 AutoResizeChildren
속성을 'off'
로 설정하고 컨테이너에 대한 SizeChangedFcn
콜백을 만드십시오. 자세한 내용은 앱 디자이너에서 크기 조정 가능한 앱 관리하기 항목을 참조하십시오.
앱 크기 조정을 비활성화하려면 Figure의 Resize
속성을 'off'
로 설정하십시오.
픽셀 단위를 사용하여 배치된 앱에서만 AutoResizeChildren
을 'on'
으로 지정하는 것이 좋습니다. 픽셀이 아닌 단위를 사용하여 배치된 앱에서 자동 크기 조정을 활성화하면 예기치 않은 동작이 발생할 수 있습니다.
플로팅
Colormap
— UIAxes
내용의 컬러맵
파룰라(parula) (디폴트 값) | RGB 3색으로 구성된 m
×3
배열
UIAxes
내용에 대한 컬러맵으로, m
개의 개별 색을 정의하는 RGB(빨간색, 녹색, 파란색) 3색의 m
×3
배열로 지정됩니다.
예: uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0])
은 컬러맵을 세 가지 색, 즉 자홍색, 파란색, 노란색으로 설정합니다.
MATLAB은 행 번호를 사용하여 이러한 색에 액세스합니다.
Alphamap
— 좌표축 내용에 대한 투명도 맵
0
과 1
사이의 64개 값으로 구성된 벡터 (디폴트 값) | 0
과 1
사이의 값으로 구성된 벡터
좌표축 내용의 투명도 맵으로, 0
과 1
(구간의 끝점 포함) 사이의 값으로 구성된 벡터로 지정됩니다. 벡터의 크기는 m×1이나 1×m일 수 있습니다. MATLAB은 벡터 내 알파 값에 대응하는 인덱스를 통해 알파 값에 액세스합니다. Alphamap은 임의의 길이일 수 있습니다.
마우스 포인터
Pointer
— 포인터 기호
'arrow'
(디폴트 값) | 'ibeam'
| 'crosshair'
| 'watch'
| 'topl'
| 'custom'
| ...
포인터 기호로, 다음 표에 나와 있는 값 중 하나 또는 'custom'
으로 지정됩니다. 기호의 모양은 운영 체제에 따라 달라집니다.
값 | 결과로 표시되는 기호(시스템에 따라 다름) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
사용자 지정 포인터 기호
사용자 지정 포인터 기호를 만들려면 프로그래밍 방식으로 Pointer
속성을 'custom'
으로 설정하고 PointerShapeCData
속성을 사용하여 기호를 정의하십시오. 자세한 내용은 PointerShapeCData
속성을 참조하십시오.
제한 사항
uihtml
함수로 만든 HTML UI 컴포넌트 위에는 Pointer
속성으로 지정된 포인터 기호가 표시되지 않습니다.
PointerShapeCData
— 사용자 지정 포인터 기호
16×16 행렬 (디폴트 값) | 32×32 행렬
사용자 지정 포인터 기호로, 16×16 행렬(16×16 픽셀 포인터의 경우) 또는 32×32 행렬(32×32 픽셀 포인터의 경우)로 지정됩니다. Pointer
속성을 'custom'
으로 설정할 경우 Figure는 이 포인터 기호를 사용합니다.
행렬의 각 요소는 포인터의 한 픽셀에 대한 밝기 수준을 정의합니다. 여기서 요소는 다음의 값 중 하나를 가질 수 있습니다.
1
— 검은색 픽셀.2
— 흰색 픽셀.NaN
— 밑의 화면이 비쳐 보이는 투명 픽셀.
행렬의 요소 (1,1)
은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.
PointerShapeHotSpot
— 포인터의 활성 픽셀
[1 1]
(디폴트 값) | 요소를 2개 가진 벡터
포인터의 활성 픽셀로, 요소를 2개 가진 벡터로 지정됩니다. 이 벡터는 원하는 활성 픽셀에 해당하는, PointerShapeCData
행렬의 특정 요소에 대한 행 인덱스와 열 인덱스를 포함합니다. 디폴트 값인 [1 1]
은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.
PointerShapeCData
행렬의 범위를 벗어난 값을 지정할 경우 포인터는 [1 1]
의 디폴트 활성 픽셀을 대신 사용합니다.
이 속성은 Pointer
속성이 'custom'
으로 설정된 경우에만 적용됩니다.
상호 작용
Visible
— 가시성 상태
'on'
(디폴트 값) | on/off 논리값
가시성 상태로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— 객체를 표시합니다.'off'
— 객체를 삭제하지 않고 숨깁니다. 보이지 않는 UI 컴포넌트의 속성에 계속 액세스할 수 있습니다.
앱을 더 빨리 시작하려면 시작 시 나타날 필요가 없는 모든 컴포넌트에 대해 Visible
속성을 'off'
로 설정하십시오.
보이지 않는 컨테이너의 크기를 변경하면 컨테이너가 표시될 때 SizeChangedFcn
콜백이 트리거됩니다.
컨테이너의 Visible
속성을 변경해도 자식 컴포넌트의 Visible
속성값은 변경되지 않습니다. 컨테이너를 숨겨서 자식 컴포넌트가 숨겨진 경우에도 마찬가지입니다.
CurrentAxes
— 현재 UI Figure의 대상 좌표축
UIAxes
객체 | Axes
객체 | PolarAxes
객체 | 그래픽스 객체
현재 UI Figure의 대상 좌표축으로, UIAxes
객체, Axes
객체, PolarAxes
객체 또는 HeatmapChart
와 같은 그래픽스 객체로 지정됩니다.
axes 자식이 존재하는 모든 UI Figure에는 항상 현재 좌표축이 있습니다. 현재 좌표축은 제일 부모에 있는 axes가 아닐 수도 있으며, 좌표축을 현재 좌표축으로 설정하더라도 현재 좌표축이 다른 모든 좌표축의 부모로 바뀌는 건 아닙니다. UI Figure에 좌표축이 없으면 get(gcf,'CurrentAxes')
명령은 빈 배열을 반환합니다.
axes 객체가 없는 경우 강제로 생성하지 않고 CurrentAxes
속성을 쿼리하여 현재 axes 객체를 가져오십시오.
CurrentObject
— 현재 객체
빈 GraphicsPlaceholder
배열 (디폴트 값) | UI Figure의 자식 객체
현재 객체로, UI Figure의 자식 객체로 반환됩니다. MATLAB은 CurrentObject
속성을 UI Figure에서 마지막으로 클릭된 객체로 설정합니다.
HandleVisibility
속성이 'off'
로 설정된 객체를 클릭하면 CurrentObject
속성이 빈 GraphicsPlaceholder
배열로 설정됩니다.
CurrentPoint
— 현재 점
요소를 2개 가진 벡터
현재 점으로, 요소를 2개 가진 벡터로 반환됩니다. 이 벡터는 UI Figure의 좌측 하단 코너에서부터 측정한 마우스 포인터의 (x, y) 좌표를 포함합니다. 모든 값은 Units
속성으로 지정된 단위로 표시됩니다. UI Figure가 스크롤 가능하면 스크롤 가능 영역의 왼쪽 아래 코너를 기준으로 좌표가 측정됩니다. 스크롤 가능 영역은 스크롤 막대의 제한에 의해 경계가 지정된 영역입니다.
다음 중 하나를 수행하면 좌표가 업데이트됩니다.
UI Figure 안에서 마우스 버튼을 누릅니다.
UI Figure 안에서 마우스 버튼을 누른 뒤에 마우스 버튼을 놓습니다.
UI Figure 안에서 마우스 버튼을 누른 뒤에 UI Figure 밖에서 마우스 버튼을 놓습니다.
UI Figure 안에서 스크롤 휠을 회전합니다.
WindowButtonMotionFcn
속성이 비어 있지 않은 경우에만 Figure 안에서 (버튼을 누르지 않은 채로) 마우스를 움직입니다.
UI Figure에 마우스 조작에 반응하는 콜백이 있고 시스템이 코드를 실행하는 데 걸리는 시간보다 빠르게 사용자가 콜백을 트리거하면 좌표값이 포인터의 실제 위치를 반영하지 않을 수 있습니다. 대신, 콜백이 실행을 시작했을 때의 위치를 반영할 수 있습니다.
CurrentPoint
속성을 사용하여 점을 플로팅하는 경우 좌표값에 반올림 오차가 포함될 수 있습니다.
CurrentCharacter
— 현재 문자
''
(디폴트 값) | 문자형
현재 문자로, 마지막으로 누른 키의 문자로 반환됩니다. 이 속성은 UI Figure에 포커스가 있을 때 사용자가 키를 누르는 동안 업데이트됩니다.
SelectionType
— 마우스 선택 유형
'normal'
(디폴트 값) | 'extend'
| 'alt'
| 'open'
마우스 선택 유형으로, 'normal'
, 'extend'
, 'alt'
또는 'open'
으로 반환됩니다. 이 속성은 UI Figure에서 마지막으로 발생한 마우스 버튼 눌림에 대한 정보를 제공합니다.
다음 표에서는 가능한 SelectionType
값과 이러한 값을 만드는 사용자 동작을 보여줍니다.
값 | 대응하는 동작 |
---|---|
| 마우스 왼쪽 버튼을 클릭합니다. |
| 다음 동작 중 하나입니다.
|
| 다음 중 하나:
|
| 마우스 버튼을 더블 클릭합니다. |
Scrollable
— 스크롤 기능
'off'
(디폴트 값) | on/off 논리값
스크롤 기능으로, 'off'
또는 'on'
이나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정하면 컨테이너 내에서 스크롤할 수 있습니다. 그러나 추가 요구 사항이 있습니다.
컨테이너의 자식 컴포넌트는 컨테이너가 한 번에 표시할 수 있는 것보다 더 큰 영역을 차지해야 합니다.
컨테이너에 맞지 않는 컴포넌트는 컨테이너의 위쪽 또는 오른쪽에 있어야 합니다. 컨테이너의 아래쪽 또는 왼쪽에 있는 컴포넌트로 스크롤할 수 없습니다.
컨테이너에 그리드 레이아웃 관리자가 포함된 경우 컨테이너의
Scrollable
속성은 아무런 영향을 미치지 않습니다. 스크롤을 활성화하려면 대신GridLayout
객체의Scrollable
속성을'on'
으로 설정하십시오.
특정 유형의 차트 및 좌표축은 스크롤 가능한 컨테이너를 지원하지 않습니다. 그러나 이러한 차트나 좌표축을 스크롤할 수 없는 패널에 배치한 다음 그 패널을 스크롤 가능한 컨테이너에 배치할 수 있습니다. 자세한 내용은 앱 디자이너에서 그래픽스 표시하기 항목을 참조하십시오.
ContextMenu
— 상황별 메뉴
빈 GraphicsPlaceholder
배열 (디폴트 값) | ContextMenu
객체
상황별 메뉴로, uicontextmenu
함수로 만든 ContextMenu
객체로 지정됩니다. UI Figure를 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오.
일반 콜백
ButtonDownFcn
— 버튼 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 사용자가 UI Figure의 빈 영역을 클릭할 때 실행됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
SelectionType
속성을 사용하여 사용자가 보조키를 눌렀는지 확인합니다.
CreateFcn
— 생성 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
객체 생성 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
이 속성은 MATLAB이 객체를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn
콜백을 실행하기 전에 모든 속성값을 초기화합니다. CreateFcn
속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.
기존 컴포넌트에 대해서는 CreateFcn
속성을 설정해도 아무 효과가 없습니다.
이 속성을 함수 핸들 또는 셀형 배열로 지정하면 생성 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo
함수를 사용하여 객체에 액세스하십시오.
DeleteFcn
— 삭제 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
객체 삭제 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
이 속성은 MATLAB에서 객체를 삭제할 때 실행할 콜백 함수를 지정합니다. MATLAB은 객체의 속성을 파괴하기 전에 DeleteFcn
콜백을 실행합니다. DeleteFcn
속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.
이 속성을 함수 핸들 또는 셀형 배열로 지정하면 삭제 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo
함수를 사용하여 객체에 액세스하십시오.
키보드 콜백
KeyPressFcn
— 키 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 키보드 포커스를 허용하는 컴포넌트(예: 편집 필드)에서 키를 누르면 해당 컴포넌트가 비활성화되어 있는 경우에만 콜백이 실행됩니다. Enable
또는 Editable
속성을 'off'
로 설정하여 컴포넌트를 비활성화할 수 있습니다. 또한 Enable
속성을 'inactive'
로 설정하면 Table
컴포넌트를 회색으로 표시하지 않고도 비활성화할 수 있습니다.
사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 모든 키를 감지합니다.
KeyPressFcn
콜백은 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 KeyData
객체 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 키 누름의 결과로 표시되는 문자. 특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 눌린 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌릴 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'KeyPress' | 'KeyPress' | 'KeyPress' | 'KeyPress' |
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
CurrentCharacter
속성은 문자 정보도 반환합니다.
KeyReleaseFcn
— 키 해제 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 눌린 상태에서 해제하면 실행됩니다. 키보드 포커스가 있는 컴포넌트(예: 편집 필드)에서 키를 놓으면 해당 컴포넌트가 비활성화되어 있는 경우에만 콜백이 실행됩니다. Enable
또는 Editable
속성을 'off'
로 설정하여 컴포넌트를 비활성화할 수 있습니다. 또한 Enable
속성을 'inactive'
로 설정하면 Table
컴포넌트를 회색으로 표시하지 않고도 비활성화할 수 있습니다.
이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 KeyData
객체 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 눌린 상태에서 해제되는 키에 대응하는 문자. 특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 해제된 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌린 상태에서 해제될 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' |
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
창 콜백
CloseRequestFcn
— 닫기 요청 콜백
'closereq'
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
닫기 요청 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
MATLAB은 앱 사용자가 앱을 닫으려고 할 때 이 콜백을 실행합니다. 예를 들어, 콜백을 코딩하여 앱 사용자에게 닫기 작업을 확인하거나 취소하도록 요청하는 대화 상자를 표시할 수 있습니다.
CloseRequestFcn
콜백의 디폴트 값 'closereq'
는 Figure를 무조건 삭제하고 창을 제거합니다.
CloseRequestFcn
콜백에서 Figure
를 닫으려면 delete
함수를 호출하십시오.
앱 디자이너에서의
delete(app)
을 호출합니다.프로그래밍 방식으로 작성한 앱의 경우
delete(f)
를 호출합니다. 여기서f
는Figure
객체입니다.
CloseRequestFcn
콜백에 delete
명령이 포함되어 있지 않으면 MATLAB은 창을 닫지 않습니다. 언제든지 delete
함수를 호출하여 창을 닫을 수 있습니다.
예제: 대화 상자를 표시하도록 CloseRequestFcn
코딩하기
이 예제에서는 닫기 작업에 대한 확인을 묻는 확인 대화 상자를 표시하도록 닫기 요청 함수를 코딩하는 방법을 보여줍니다. 코드를 시스템의 쓰기 가능한 폴더에 저장합니다.
function myCloseReq(src,event) selection = uiconfirm(src,'Close this figure?',... 'Confirm Close'); switch selection case 'OK' delete(src) case 'Cancel' return end end
이제 Figure를 생성하고 CloseRequestFcn
에 대해 myCloseReq
를 지정합니다. 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.
uifigure('CloseRequestFcn',@myCloseReq);
Figure 창을 닫으면 확인 대화 상자가 표시됩니다.
SizeChangedFcn
— 크기 변경 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
크기 변경 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 컨테이너의 크기가 변경될 때(예: 사용자가 창 크기를 조정할 때) 앱 레이아웃을 사용자 지정하려면 이 콜백을 정의하십시오. 그 안에 자식 컴포넌트의 Position
속성을 조정하는 코드를 작성하십시오.
참고
이 컨테이너의 AutoResizeChildren
속성이 'off'
로 설정되어 있는 경우에만 SizeChangedFcn
콜백이 실행됩니다. 앱 디자이너에서 컨테이너를 선택하고 컴포넌트 브라우저의 컴포넌트 탭에서 AutoResizeChildren 체크박스를 선택 해제하여 SizeChangedFcn
을 실행 가능하게 만들 수 있습니다.
SizeChangedFcn
콜백은 다음의 경우에 실행됩니다.
이 컨테이너가 처음으로 표시되는 경우.
크기를 변경하는 동안 이 컨테이너가 표시되는 경우.
크기 변경 후 이 컨테이너가 처음으로 표시되는 경우. 이런 상황은 컨테이너가 표시되지 않는 동안 크기가 변경되고 그런 다음 이 객체가 나중에 표시될 때 발생합니다.
SizeChangedFcn
콜백을 정의할 때 고려해야 할 기타 중요 사항은 다음과 같습니다.
SizeChangedFcn
을 사용하는 모든 변수가 정의될 때까지 이 컨테이너가 표시되는 것을 지연하는 것이 좋습니다. 이렇게 하면SizeChangedFcn
콜백에서 오류가 반환되는 것을 방지할 수 있습니다. 컨테이너가 표시되는 것을 지연하려면 해당Visible
속성을'off'
로 설정하십시오. 그런 다음,SizeChangedFcn
콜백이 사용하는 변수를 정의한 후에Visible
속성을'on'
으로 설정하십시오.앱에 중첩된 컨테이너가 포함되어 있는 경우 해당 컨테이너는 안에서 밖으로 크기 조정됩니다.
SizeChangedFcn
내에서 크기 조정되는 컨테이너에 액세스하려면 소스 객체(콜백의 첫 번째 입력 인수)를 참조하거나gcbo
함수를 사용하십시오.
크기 조정 동작을 지정하는 또다른 방법은 GridLayout
객체를 만들거나 앱 디자이너에서 자동 재배치 옵션을 사용하는 것입니다. 이들 옵션을 사용하는 것이 SizeChangedFcn
콜백보다 더 쉬울 수 있습니다. 그러나 이들 옵션과 비교할 때 SizeChangedFcn
콜백이 가진 이점이 있습니다. 예를 들면 다음과 같은 경우입니다.
사용자가 정의한 최소 또는 최대 크기까지 컴포넌트 크기를 조정합니다.
부모 컨테이너의 크기를 기준으로 컴포넌트의 크기를 변경하는 것과 같은 비선형 크기 조정 동작을 구현합니다.
WindowButtonDownFcn
— 창 버튼 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 사용자가 다음 항목을 클릭할 때 실행됩니다.
UI Figure의 빈 영역
UI Figure 내에 있는 UI 컴포넌트
UI Figure 내에 있는,
ButtonDownFcn
속성을 지원하는 그래픽스 객체
예를 들어, axes
객체를 클릭하면 WindowButtonDownFcn
콜백이 트리거됩니다.
사용자가 UITable
컴포넌트를 클릭하면, Enable
속성이 'off'
또는 'inactive'
로 설정된 경우에만 콜백이 실행됩니다.
그래픽스 객체가 ButtonDownFcn
속성을 지원하는지 확인하려면 해당 그래픽스 객체의 속성 목록을 참조하십시오. 그래픽스 객체의 속성은 그래픽스 객체 속성 항목을 참조하십시오.
참고
uiaxes
컴포넌트가 ButtonDownFcn
속성을 지원하지 않더라도 사용자가 uiaxes
컴포넌트를 클릭하면 콜백이 실행됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
WindowButtonMotionFcn
— 창 버튼 동작 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 버튼 동작 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
일반적으로 이 콜백 함수는 사용자가 UI Figure 안에서 포인터를 이동할 때마다 실행됩니다. 그러나 사용자가 마우스 버튼을 클릭하여 누른 채 UI Figure 밖으로 포인터를 이동하면, WindowButtonMotionFcn
콜백은 포인터가 UI Figure 밖에 있는 동안에 호출됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
WindowButtonUpFcn
— 창 버튼 놓음 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 버튼 놓음 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 사용자가 다음 동작을 수행할 때 실행됩니다.
UI Figure의 빈 영역에서 마우스 버튼을 놓을 때
UI Figure의 UI 컴포넌트에서 마우스 버튼을 놓을 때
UI Figure 내에 있는,
ButtonDownFcn
속성을 지원하는 그래픽스 객체에서 마우스 버튼을 놓을 때
예를 들어, axes
객체에서 마우스 버튼을 놓으면 WindowButtonUpFcn
콜백이 트리거됩니다.
사용자가 UITable
컴포넌트에서 마우스 버튼을 놓으면, Enable
속성이 'off'
또는 'inactive'
로 설정된 경우에만 콜백이 실행됩니다.
그래픽스 객체가 ButtonDownFcn
속성을 지원하는지 확인하려면 해당 그래픽스 객체의 속성 목록을 참조하십시오. 그래픽스 객체의 속성은 그래픽스 객체 속성 항목을 참조하십시오.
버튼 놓음 동작은 UI Figure의 버튼 누름 동작과 연결됩니다. 버튼 누름 동작이 발생할 때는 마우스 포인터가 UI Figure 안에 있어야 하지만, 버튼 놓음 동작이 발생할 때는 Figure 밖에 있어도 됩니다.
참고
uiaxes
컴포넌트가 ButtonDownFcn
속성을 지원하지 않더라도 사용자가 uiaxes
컴포넌트에서 마우스 버튼을 놓으면 콜백이 실행됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
WindowKeyPressFcn
— 창 키 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 모든 키를 감지합니다.
이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 KeyData
객체 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 키 누름의 결과로 표시되는 문자. 특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 눌린 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌릴 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' |
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
CurrentCharacter
속성은 문자 정보도 반환합니다.
WindowKeyReleaseFcn
— 창 키 해제 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 눌린 상태에서 해제하면 실행됩니다.
이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 KeyData
객체 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 눌린 상태에서 해제되는 키에 대응하는 문자. 특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 해제된 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌린 상태에서 해제될 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' |
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
WindowScrollWheelFcn
— 창 스크롤 휠 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 스크롤 휠 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 UI Figure 또는 자식에 포커스가 있는 동안 사용자가 스크롤 휠을 움직일 때 실행됩니다. 단, 다른 객체가 스크롤 휠의 움직임을 캡처하여 이 콜백의 실행을 방해할 수 있습니다.
이 콜백은 CurrentObject
및 SelectionType
속성에는 영향을 미치지 않습니다.
이 콜백은 사용자가 스크롤 휠을 회전할 때 특정 정보에 액세스할 수 있습니다. MATLAB은 ScrollWheelData
객체의 이 정보를 콜백 함수에 대한 두 번째 인수로 전달합니다. 다음 표에는 ScrollWheelData
객체 속성이 나열되어 있습니다.
속성 | 내용 |
---|---|
VerticalScrollCount | 스크롤 휠 클릭의 방향과 횟수를 나타내는 양수 또는 음수. 아래로 스크롤하면 양수 값이 반환됩니다. 위로 스크롤하면 음수 값이 반환됩니다. 수직 스크롤 횟수는 콜백이 마지막으로 실행된 이후 발생한 모든 스크롤 휠 클릭의 합입니다. 일반적으로 이 값은 |
VerticalScrollAmount | 상수 값 |
Source | 콜백을 실행하는 객체. |
EventName | 'WindowScrollWheel' . |
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
예제: x축 제한을 변경하는 앱
이 예제에서는 플롯을 표시하는 앱을 만드는 방법을 보여줍니다. 사용자는 스크롤 휠로 스크롤하여 x축의 제한을 변경할 수 있습니다. 다음 코드를 복사하여 편집기에 붙여넣고 실행합니다.
function scroll_wheel % Shows how to use WindowScrollWheelFcn property % f = uifigure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo'); x = 0:.1:40; y = 4.*cos(x)./(x+2); a = axes(f); h = plot(a,x,y); title(a,'Rotate the scroll wheel') function figScroll(~,event) if event.VerticalScrollCount > 0 xd = h.XData; inc = xd(end)/20; x = [0:.1:xd(end)+inc]; re_eval(x) elseif event.VerticalScrollCount < 0 xd = h.XData; inc = xd(end)/20; % Don't let xd = 0 x = [0:.1:xd(end)-inc+.1]; re_eval(x) end end function re_eval(x) y = 4.*cos(x)./(x+2); h.YData = y; h.XData = x; a.XLim = [0 x(end)]; drawnow end end
figScroll
에 대한 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.
콜백 실행 컨트롤
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
— 부모 객체
root 객체
읽기 전용 속성입니다.
부모 객체로, root 객체로 반환됩니다.
Children
— Figure
객체의 자식
빈 GraphicsPlaceholder
배열 (디폴트 값) | 컴포넌트 객체로 구성된 1차원 배열
Figure
객체의 자식으로, 빈 GraphicsPlaceholder
또는 컴포넌트 객체의 1차원 배열로 반환됩니다. 자식은 또 다른 Figure
객체만 제외하고 어떤 컴포넌트든 될 수 있습니다.
Children
속성을 사용해서는 자식 컴포넌트를 추가하거나 제거할 수 없습니다. 자식의 목록을 보거나 자식을 재정렬하려면 이 속성을 사용하십시오. 이 배열에서 자식의 순서는 화면에서의 컴포넌트의 쌓임 순서(앞-뒤)를 반영합니다.
이 목록에 자식을 추가하려면 자식 컴포넌트의 Parent
속성을 Figure
객체로 설정하십시오.
HandleVisibility
— 객체 핸들의 가시성
'off'
(디폴트 값) | 'callback'
| 'on'
객체 핸들의 가시성으로, 'off'
, 'callback'
, 'on'
중 하나로 지정됩니다. 이 속성은 그 부모의 자식 목록에서 Figure
객체의 가시성에 대한 정보를 제공합니다. Figure
객체가 현재 Figure(gcf
)가 될 수 없도록 하고 함수들이 원치 않는 UI 변경을 할 수 없도록 디폴트 값이 'off'
로 설정됩니다.
다음 표에서는 각 값을 설정하는 효과에 대해 설명합니다.
HandleVisibility 값 | 설명 |
---|---|
'off' | 콜백 함수 또는 명령 창에서 실행되는 함수에서
이 옵션은 콜백 함수 및 명령줄에서 호출된 함수가 객체를 대상으로 지정하고 의도하지 않은 UI 변경을 하지 못하도록 합니다. |
'callback' | 콜백 내에서 또는 콜백이 호출한 함수 내에서만 이 옵션은 명령줄에서 객체에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체에 액세스하는 것은 허용합니다. |
'on' |
|
객체의 HandleVisibility
속성이 'off'
로 설정되어 있어도 해당 객체는 유효합니다. 객체에 대한 액세스 권한이 있으면 해당 속성을 설정하여 가져온 후 객체에 대해 작동하는 함수로 전달할 수 있습니다.
식별자
Name
— 이름
''
(디폴트 값) | 문자형 벡터 | string형 스칼라
Figure의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.
예: uifigure('Name','Results')
는 Figure의 이름을 'Results'
로 설정합니다.
앱 디자이너에서 Name
속성의 디폴트 값은 'MATLAB App'
입니다.
Icon
— 아이콘 소스 또는 파일
''
(디폴트 값) | 문자형 벡터 | string형 스칼라 | m
×n
×3 트루컬러 이미지 배열
아이콘 소스 또는 파일로, 문자형 벡터, string형 스칼라 또는 m
×n
×3 트루컬러 이미지 배열로 지정됩니다. 파일 이름을 지정할 경우 MATLAB 경로 또는 이미지 파일의 전체 경로에 있는 이미지 파일 이름일 수 있습니다. 앱을 다른 사용자와 공유하려면 원활한 앱 패키징을 위해 이미지 파일을 MATLAB 경로에 두십시오.
지원되는 이미지 형식에는 JPEG, PNG, GIF, m
×n
×3 트루컬러 이미지 배열이 있습니다. 트루컬러 이미지 배열에 대한 자세한 내용은 이미지 유형 항목을 참조하십시오. 애니메이션 GIF 파일은 첫 번째 프레임만 표시합니다.
아이콘을 전체 크기로 완전히 표시할 충분한 공간이 부족한 경우 MATLAB은 공간에 맞게 이미지의 크기를 줄입니다.
예: 'icon.png'
는 MATLAB 경로에 있는 아이콘 파일을 지정합니다.
예: 'C:\Documents\icon.png'
는 이미지 파일의 전체 경로를 지정합니다.
예: fig = uifigure('Icon','peppers.png')
는 지정된 아이콘 이미지 파일을 사용하여 UI Figure를 만듭니다.
Number
— 숫자
정수 | []
읽기 전용 속성입니다.
Figure의 번호로, 정수 또는 빈 배열로 반환됩니다.
IntegerHandle
속성을 'off'
로 지정하면 Number
속성은 빈 값이 됩니다.
IntegerHandle
이 'on'
인 경우 Number
속성은 정수입니다. Figure를 삭제하면 MATLAB은 이 숫자를 다음 Figure에 재사용합니다.
NumberTitle
— 번호 제목 사용
'off'
(디폴트 값) | on/off 논리값
번호 제목으로, 'off'
또는 'on'
이나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정할 경우 UI Figure의 제목에 'Figure n'
이라는 구가 포함됩니다. 여기서 n
은 번호입니다.
제목에 번호를 표시하려면 NumberTitle
과 IntegerHandle
속성을 모두 'on'
으로 설정해야 합니다.
IntegerHandle
— 정수 핸들 사용 여부
'off'
(디폴트 값) | on/off 논리값
정수 핸들 사용 여부로, 'off'
또는 'on'
이나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
IntegerHandle
속성을 'on'
으로 설정할 경우 MATLAB은 기존 Figure가 사용하지 않는 가장 낮은 정수 값을 찾아 Number
속성을 이 값으로 설정합니다. UI Figure를 삭제할 경우 MATLAB은 새 Figure에서 이 번호를 재사용할 수 있습니다.
IntegerHandle
속성을 'off'
로 설정하면 MATLAB은 UI Figure에 정수 값을 할당하지 않고 Number
속성을 빈 배열로 설정합니다.
제목 표시줄에 번호를 표시하려면 IntegerHandle
과 NumberTitle
을 모두 'on'
으로 설정해야 합니다.
Type
— 그래픽스 객체의 유형
'figure'
읽기 전용 속성입니다.
그래픽스 객체의 유형으로, 'figure'
로 반환됩니다.
Tag
— 객체 식별자
''
(디폴트 값) | 문자형 벡터 | string형 스칼라
객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag
값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj
함수를 사용하여 Tag
값을 기반으로 객체를 검색할 수 있습니다.
UserData
— 사용자 데이터
[]
(디폴트 값) | 배열
사용자 데이터로, 임의의 MATLAB 배열로 지정됩니다. 예를 들어, 스칼라, 벡터, 행렬, 셀형 배열, 문자형 배열, table형 또는 구조체형으로 지정할 수 있습니다. 이 속성을 사용하여 객체에 임의의 데이터를 저장할 수 있습니다.
앱 디자이너에서 작업하는 경우 앱에서 데이터를 공유할 수 있도록 UserData
속성을 사용하는 대신 퍼블릭 또는 프라이빗 속성을 생성하십시오. 자세한 내용은 앱 디자이너로 만든 앱 내부에서 데이터 공유하기 항목을 참조하십시오.
버전 내역
R2016a에 개발됨R2021a: 전경에 유지되는 UI Figure 생성
특정 UI Figure 창을 다른 창 앞에 유지하려면 WindowStyle
속성을 'alwaysontop'
으로 설정하십시오. 모달 Figure와 달리, 이 속성 설정을 갖는 UI Figure 창은 키보드 및 마우스 상호 작용을 제한하지 않습니다.
R2020b: 모달 UI Figure 생성
키보드와 마우스의 상호 작용을 특정 UI Figure 창으로 제한하려면 WindowStyle
속성을 'modal'
로 설정하십시오.
R2020b: 사용자 지정 아이콘 지정
사용자 지정 아이콘을 UI Figure 창에 추가하려면 Icon
속성을 이미지 파일 또는 m
×n
×3 트루컬러 배열로 설정하십시오.
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)