Main Content

DatePicker 속성

날짜 선택기의 모양 및 동작 제어

사용자가 날짜 선택기를 사용하여 대화형 달력에서 날짜를 선택할 수 있습니다. uidatepicker 함수는 날짜 선택기를 생성하고 필수 속성을 설정한 후 날짜 선택기를 표시합니다. 날짜 선택기의 속성값을 변경하여 모양과 동작의 특정한 부분을 수정할 수 있습니다. 다음과 같이 점 표기법을 사용하여 특정 객체와 속성을 참조하십시오.

fig = uifigure;
d = uidatepicker(fig);
d.DisplayFormat = 'M/d/yyyy';

날짜 선택기

모두 확장

선택된 날짜로, Limits 속성의 범위 내에 있는 datetime 객체로 지정됩니다. 선택된 날짜를 지정되지 않음으로 설정하려면 이 속성을 NaT로 설정하십시오.

지정된 datetime 객체에 시간 정보가 포함된 경우, Value 속성에는 날짜 정보만 보존됩니다.

예: d = uidatepicker('Value',datetime('today'))

데이터형: datetime

자리 표시자 텍스트로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 자리 표시자는 예상되는 입력값을 설명하는 짧은 힌트를 제공합니다. 이 텍스트는 Value 속성이 NaT인 경우에만 표시됩니다.

예: 'aaaa/mm/dd'

선택 제한으로, 1×2 datetime 배열로 지정됩니다. 이 배열의 두 번째 값은 첫 번째 값보다 이후여야 합니다. 디폴트 값은 [datetime(0000,1,1) datetime(9999,12,31)]입니다. 이 디폴트 값은 DatePicker가 지원하는 가장 이른 날짜에서 시작하고 가장 늦은 날짜에서 끝납니다.

실행 중인 앱에서 사용자는 날짜 선택기를 사용하여 이 속성으로 정의된 닫힌 구간의 날짜를 선택할 수 있습니다. 구간 내에 비활성화된 날짜나 요일이 있는 경우, 이러한 날짜와 요일은 제외됩니다.

예: d = uidatepicker('Limits',[datetime('today') datetime(2050,1,1)])

데이터형: datetime

날짜 선택기 텍스트 필드의 표시 형식으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 디폴트 형식은 앱을 실행 중인 시스템의 로캘에 따라 달라집니다.

지정하는 형식은 날짜/시간에 대한 Unicode® LDML(Locale Data Markup Language) 표준에 부합하는 유효한 문자 ID를 사용해야 합니다. 하이픈, 공백, 콜론과 같은 비문자나 비ASCII 문자를 포함시켜 필드를 구분할 수 있습니다.

예: d = uidatepicker('DisplayFormat','dd/MM/yy')

일반 형식의 예

다음 표에는 일반 표시 형식이 나열되어 있습니다. 아래 예는 날짜 2014년 4월 9일 수요일에 대해 형식이 지정된 출력값을 보여줍니다.

Format의 값
'yyyy-MM-dd'2014-04-09
'dd/MM/yyyy'09/04/2014
'dd.MM.yyyy'09.04.2014
'yyyy年 MM月 dd日'2014年 04月 09日
'MMMM d, yyyy'April 9, 2014

모든 날짜/시간 형식

다음과 같은 문자 식별자를 사용하여 표시 형식을 만들 수 있습니다. 이 표의 세 번째 열은 날짜 2014년 4월 9일 수요일에 대한 출력값을 보여줍니다.

문자 식별자설명표시
G연대CE
y연도. 앞에 0 표시 안 됨.2014
yy연도. 마지막 2자리 숫자 사용.14
yyy, yyyy ...연도. 적어도 'y'의 개수만큼의 숫자 사용.연도 2014의 경우 'yyy'2014를 표시하는 반면 'yyyyy'02014를 표시합니다.
u, uu, ...ISO 연도. 연도를 지정하는 단일 숫자.2014
Q사분기. 1자리 숫자 사용2
QQ사분기. 2자리 숫자 사용02
QQQ사분기. 축약형Q2
QQQQ사분기. 전체 이름2nd quarter
M월. 숫자형. 1자리나 2자리 숫자 사용4
MM월. 숫자형. 2자리 숫자 사용04
MMM월. 축약형 이름Apr
MMMM월. 전체 이름April
MMMMM월. 대문자로 머리글자 표시A
W그 달의 몇째 주. 1자리 숫자 사용2
d그 달의 몇째 날. 1자리나 2자리 숫자 사용9
dd그 달의 몇째 날. 2자리 숫자 사용09
D그 해의 몇째 날. 1자리나 2자리, 3자리 숫자 사용99
DD그 해의 몇째 날. 2자리 숫자 사용99
DDD그 해의 몇째 날. 3자리 숫자 사용099
e그 주의 몇째 날. 숫자형. 1자리나 2자리 숫자 사용4. 여기서, 한 주의 첫째 날은 일요일입니다.
ee그 주의 몇째 날. 숫자형. 2자리 숫자 사용04
eee요일. 축약형 이름Wed
eeee요일. 전체 이름Wednesday
eeeee요일. 대문자로 머리글자 표시W

참고

  • 실행 중인 앱의 편집 필드는 DisplayFormat에 단어가 포함된 경우라도 구분된 숫자형 값을 받습니다. 예를 들어, 월 형식이 'MMMM'으로 지정된 경우 앱은 04처럼 숫자형 월을 받지만 월 이름은 'April'과 같이 표시됩니다.

  • 사용자가 실행 중인 앱에서 연중 일자 숫자를 지정하고 형식에 연중 일자(D)와 그레고리력 연도(y)가 모두 포함된 경우, datetime이 연중 일자 숫자를 올바르게 읽지 못할 수 있습니다. y 자리에 ISO 연도(u)를 사용하십시오.

  • 0에 가까운 연도 숫자 값으로 작업할 경우 y 문자 대신 하나 이상의 u 문자를 사용하여 연도를 나타낼 수 있습니다.

비활성화된 날짜로, m×1 datetime 배열로 지정됩니다. 이 속성은 실행 중인 앱에서 선택할 수 없는 날짜를 지정합니다.

예: d = uidatepicker('DisabledDates',datetime(2018,1,1))은 2018년 1월 1일을 비활성화합니다.

datetime 배열에는 NaT 값이 포함될 수 없으며, 날짜는 오름차순으로 정렬해야 합니다.

이전에 비활성화한 모든 날짜를 다시 활성화하려면 NaT(0)을 호출하여 빈 datetime 배열을 생성하십시오.

d.DisabledDates = NaT(0);

데이터형: datetime

비활성화된 요일로, 다음 중 하나로 지정됩니다.

  • 빈 배열 []. 이는 모든 요일을 활성화합니다.

  • [1, 7] 범위에 있는 정수의 벡터. 이 숫자는 요일에 대응합니다. 예를 들어, [1 3]은 일요일과 화요일을 비활성화합니다.

  • 문자형 벡터로 구성된 1차원 셀형 배열로, 배열 요소에는 현지화된 요일 이름이 포함됩니다. 부분적인 요일 이름은 모호하지 않아야 합니다. 예를 들어, {'금','토'}는 금요일과 토요일을 비활성화합니다.

  • string형 벡터에는 전체 또는 부분적으로 현지화된 요일 이름이 포함됩니다.

셀형 배열 또는 string형 벡터를 사용하여 요일 이름을 지정하는 경우 이 코드는 코드를 작성한 로캘에서만 작동합니다. 코드가 모든 로캘에서 작동하도록 하려면 이 속성을 숫자로 구성된 벡터로 지정하십시오.

데이터형: double | cell | string

글꼴과 색상

모두 확장

글꼴 이름으로, 시스템에서 지원하는 글꼴 이름으로 지정됩니다. 디폴트 글꼴은 운영 체제와 로캘에 따라 다릅니다.

지정된 글꼴을 사용할 수 없는 경우, MATLAB®은 앱을 실행 중인 시스템에서 제공하는 글꼴 중 가장 잘 맞는 글꼴을 사용합니다.

예: 'Arial'

글꼴 크기로, 양수로 지정됩니다. 측정 단위는 픽셀입니다. 디폴트 글꼴 크기는 운영 체제와 로캘에 따라 다릅니다.

예: 14

글꼴 두께로, 다음 값 중 하나로 지정됩니다.

  • 'normal' — 보통 글꼴. 글꼴별로 정의된 디폴트 두께

  • 'bold''normal'보다 더 두꺼운 문자 윤곽선

모든 글꼴에 굵은 글꼴 두께가 있는 것은 아닙니다. 굵은 글꼴 두께가 없는 글꼴의 경우 'bold'를 지정하면 일반 글꼴 두께가 됩니다.

글꼴 각도로, 'normal' 또는 'italic'으로 지정됩니다. 모든 글꼴에 기울임꼴 글꼴이 있는 것은 아닙니다. 기울임꼴 글꼴이 없는 글꼴의 경우 'italic'을 지정하면 일반 글꼴 각도가 됩니다.

글꼴 색으로, 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"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

배경색으로, 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"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

상호 작용

모두 확장

가시성 상태로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

  • 'on' — 객체를 표시합니다.

  • 'off' — 객체를 삭제하지 않고 숨깁니다. 보이지 않는 UI 컴포넌트의 속성에 계속 액세스할 수 있습니다.

앱을 더 빨리 시작하려면 시작 시 나타날 필요가 없는 모든 UI 컴포넌트에 대해 Visible 속성을 'off'로 설정하십시오.

편집 필드 변경 허용 여부로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정하면 사용자가 런타임에 편집 필드의 날짜를 변경할 수 있습니다. 편집 필드의 변경을 허용하려면 Enable 속성도 'on'으로 설정해야 합니다.

작동 상태로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

  • 이 속성을 'on'으로 설정하면 앱 사용자가 컴포넌트와 상호 작용할 수 있습니다.

  • 이 속성을 'off'로 설정하면 컴포넌트가 희미하게 표시되어 앱 사용자가 컴포넌트와 상호 작용할 수 없으며 컴포넌트가 콜백을 트리거하지 않음을 나타냅니다.

툴팁으로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 1차원 categorical형 배열로 지정됩니다. 사용자가 런타임에 컴포넌트 위에 포인터를 올려놓을 때 메시지가 표시되도록 하려면 이 속성을 사용합니다. 툴팁은 컴포넌트가 비활성화된 경우에도 표시됩니다. 여러 줄로 된 텍스트를 표시하려면 문자형 벡터로 구성된 셀형 배열 또는 string형 배열을 지정하십시오. 배열 내 각 요소는 텍스트의 한 줄에 해당합니다. 이 속성을 categorical형 배열로 지정할 경우 MATLAB은 전체 범주 집합이 아닌 배열에 있는 값을 사용합니다.

상황별 메뉴로, uicontextmenu 함수를 사용하여 만든 ContextMenu 객체로 지정됩니다. 컴포넌트를 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오.

위치

모두 확장

부모 컨테이너를 기준으로 한 축소된 날짜 선택기의 위치와 크기로, [left bottom width height] 형식의 벡터로 지정됩니다. 다음 표에서는 벡터의 각 요소를 설명합니다.

요소설명
left부모 컨테이너의 왼쪽 내부 가장자리와 날짜 선택기의 왼쪽 외부 가장자리 사이의 거리
bottom부모 컨테이너의 내부 하단 가장자리와 날짜 선택기의 외부 하단 가장자리 사이의 거리
width날짜 선택기의 오른쪽과 왼쪽 외부 가장자리 사이의 거리
height날짜 선택기의 상단과 하단 외부 가장자리 사이의 거리

모든 측정값은 픽셀 단위입니다.

부모 컨테이너를 기준으로 한 축소된 날짜 선택기의 위치와 크기로, [left bottom width height] 형식의 벡터로 지정됩니다. 이 속성값은 Position 속성과 동일합니다.

부모 컨테이너를 기준으로 한 축소된 날짜 선택기의 위치와 크기로, [left bottom width height] 형식의 벡터로 지정됩니다. 이 속성값은 Position 속성과 동일합니다.

레이아웃 옵션으로, GridLayoutOptions 객체로 지정됩니다. 이 속성은 그리드 레이아웃 컨테이너의 자식인 컴포넌트의 옵션을 지정합니다. 컴포넌트가 그리드 레이아웃 컨테이너의 자식이 아닌 경우, 예를 들어 Figure 또는 패널의 자식인 경우, 이 속성은 비어 있고 영향을 미치지 않습니다. 그러나 컴포넌트가 그리드 레이아웃 컨테이너의 자식인 경우 GridLayoutOptions 객체의 Row 속성과 Column 속성을 설정하여 의도한 그리드의 행과 열에 컴포넌트를 배치할 수 있습니다.

예를 들어, 이 코드는 부모 그리드의 3행 2열에 날짜 선택기를 배치합니다.

g = uigridlayout([4 3]);
d = uidatepicker(g);
d.Layout.Row = 3;
d.Layout.Column = 2;

날짜 선택기가 여러 열 또는 행에 걸쳐 표시되도록 하려면 Row 속성 또는 Column 속성을 요소를 2개 가진 벡터로 지정하십시오. 예를 들어, 이 날짜 선택기는 2열에서 3열까지 표시됩니다.

d.Layout.Column = [2 3];

콜백

모두 확장

값이 변경된 함수로, 다음 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

사용자가 텍스트 필드에 입력하거나 날짜 선택기를 확장한 후 날짜를 선택하여 날짜를 변경한 경우 ValueChangedFcn 콜백이 실행됩니다.

이 콜백 함수는 사용자와 날짜 선택기의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 ValueChangedData 객체에 전달합니다. 앱 디자이너에서는 이 인수를 event라고 부릅니다. 점 표기법을 사용하여 객체 속성을 가져올 수 있습니다. 예를 들어, event.PreviousValue는 이전에 선택한 날짜를 가져옵니다. ValueChangedData 객체는 문자형 벡터로 지정된 콜백 함수에 사용할 수 없습니다.

다음 표에는 ValueChangedData 객체의 속성 목록이 나열되어 있습니다.

속성
Value새로 선택한 날짜
PreviousValue이전에 선택한 날짜
Source콜백을 실행하는 컴포넌트
EventName'ValueChanged'

현재 선택한 날짜를 사용자가 다시 선택하거나 다시 입력할 경우 ValueChangedFcn 콜백이 실행되지 않습니다. Value 속성을 프로그래밍 방식으로 변경한 경우에도 콜백이 실행되지 않습니다.

앱 디자이너에서 콜백을 생성하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.

객체 생성 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.

이 속성은 MATLAB이 객체를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn 콜백을 실행하기 전에 모든 속성값을 초기화합니다. CreateFcn 속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.

기존 컴포넌트에 대해서는 CreateFcn 속성을 설정해도 아무 효과가 없습니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 생성 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

객체 삭제 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.

이 속성은 MATLAB에서 객체를 삭제할 때 실행할 콜백 함수를 지정합니다. MATLAB은 객체의 속성을 파괴하기 전에 DeleteFcn 콜백을 실행합니다. DeleteFcn 속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 삭제 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

콜백 실행 컨트롤

모두 확장

콜백 중단으로, '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 속성값에 관계없이 예약된 대로 실행됩니다.

참고

중단이 발생하면 MATLAB은 디스플레이 또는 속성의 상태를 저장하지 않습니다. 예를 들어, 다른 콜백이 실행될 때 gca 또는 gcf 명령이 반환하는 객체가 변경될 수도 있습니다.

콜백 대기로, 'queue''cancel'로 지정됩니다. BusyAction 속성은 MATLAB이 인터럽트 콜백의 실행을 처리하는 방법을 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

BusyAction 속성은 다음 조건이 모두 충족될 때만 콜백 대기 동작을 결정합니다.

  • 실행중 콜백에 콜백 대기열을 처리하는 drawnow, figure, uifigure, getframe, waitfor 또는 pause 같은 명령이 포함되어 있습니다.

  • 실행중 콜백을 소유하는 객체의 Interruptible 속성값이 'off'입니다.

이러한 조건에서는 인터럽트 콜백을 소유하는 객체의 BusyAction 속성값이 MATLAB에서 인터럽트 콜백을 처리하는 방식을 결정합니다. BusyAction 속성의 가능한 값은 다음과 같습니다.

  • 'queue' — 실행중 콜백이 실행을 마치고 나면 인터럽트 콜백이 처리되도록 대기열에 넣습니다.

  • 'cancel' — 인터럽트 콜백을 실행하지 않습니다.

읽기 전용 속성입니다.

삭제 상태로, matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 반환됩니다.

MATLAB은 DeleteFcn 콜백이 실행을 시작할 때 BeingDeleted 속성을 'on'으로 설정합니다. BeingDeleted 속성은 컴포넌트 객체가 더 이상 존재하지 않을 때까지 'on'으로 설정되어 유지됩니다.

객체를 쿼리하거나 수정하기 전에 BeingDeleted 속성의 값을 확인하여 이 객체가 곧 삭제될 것이 아님을 확인합니다.

부모/자식

모두 확장

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

객체 핸들의 가시성으로, 'on', 'callback', 'off' 중 하나로 지정됩니다.

이 속성은 그 부모의 자식 목록에서 객체의 가시성을 제어합니다. 객체가 그 부모의 자식 목록에 표시되지 않는다면 객체 계층 구조를 검색하거나 핸들 속성을 쿼리하여 객체를 가져오는 함수는 객체를 반환하지 않습니다. 이러한 함수로는 get, findobj, clf, close가 있습니다. 객체는 표시되지 않아도 여전히 유효합니다. 객체에 액세스할 수 있으면 해당 속성을 설정하여 가져온 후 객체에 대해 작동하는 함수로 전달할 수 있습니다.

HandleVisibility 값설명
'on'객체는 항상 표시됩니다.
'callback'명령줄에서 호출한 함수 내에서가 아니라, 콜백 내에서나 콜백이 호출한 함수 내에서 객체가 표시됩니다. 이 옵션은 명령줄에서 객체에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체 핸들에 액세스하는 것은 허용합니다.
'off'객체는 항상 표시되지 않습니다. 이 옵션은 다른 함수에 의해 UI가 의도치 않게 변경되는 것을 방지하는 데 유용합니다. HandleVisibility'off'로 설정하여 해당 함수를 실행하는 동안 객체를 일시적으로 숨길 수 있습니다.

식별자

모두 확장

읽기 전용 속성입니다.

그래픽스 객체의 유형으로, 'uidatepicker'로 반환됩니다.

객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag 값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj 함수를 사용하여 Tag 값을 기반으로 객체를 검색할 수 있습니다.

사용자 데이터로, 임의의 MATLAB 배열로 지정됩니다. 예를 들어, 스칼라, 벡터, 행렬, 셀형 배열, 문자형 배열, table형 또는 구조체형으로 지정할 수 있습니다. 이 속성을 사용하여 객체에 임의의 데이터를 저장할 수 있습니다.

앱 디자이너에서 작업하는 경우 앱에서 데이터를 공유할 수 있도록 UserData 속성을 사용하는 대신 퍼블릭 또는 프라이빗 속성을 생성하십시오. 자세한 내용은 앱 디자이너로 만든 앱 내부에서 데이터 공유하기 항목을 참조하십시오.

버전 내역

R2018a에 개발됨

모두 확장