주요 콘텐츠

guidata

UI 데이터 저장 또는 가져오기

설명

참고

메인 앱 Figure의 UserData 속성에 앱 데이터를 저장하면 코드의 가독성을 높일 수 있기 때문에 guidata를 사용하는 것보다 이 방법을 권장합니다. 앱 데이터 저장 및 공유에 대한 자세한 내용은 콜백 간 데이터 공유하기 항목을 참조하십시오.

guidata(obj,data)obj가 Figure이면 지정된 데이터를 해당 애플리케이션 데이터에 저장하고, 또 다른 컴포넌트이면 obj의 부모 Figure에 저장합니다. 자세한 내용은 guidata가 데이터를 관리하는 방식 항목을 참조하십시오.

예제

data = guidata(obj)는 이전에 저장된 데이터를 반환하거나, 저장된 데이터가 없는 경우 빈 행렬을 반환합니다.

예제

모두 축소

클릭하면 카운터 데이터를 저장하고 가져오는 프로그래밍 방식 UI를 만듭니다.

먼저 progCounter.m이라는 프로그램 파일을 생성합니다. 프로그램 파일 내에서 다음을 수행합니다.

  • Figure를 생성합니다.

  • 필드 값이 0으로 초기화된 구조체를 만듭니다.

  • Figure에 데이터를 저장합니다.

  • Figure에서 데이터를 가져오고, 데이터를 변경하고, 새 데이터를 다시 Figure에 저장하는 콜백 함수를 정의합니다.

프로그램을 실행하고, Figure 안쪽을 클릭합니다. 명령 창에 업데이트된 데이터가 나타납니다.

f = figure;
data.numberOfClicks = 0; 
guidata(f,data)
f.ButtonDownFcn = @My_Callback;

function My_Callback(src,event)
data = guidata(src);
data.numberOfClicks = data.numberOfClicks + 1;
guidata(src,data)
data
end
data = 

  struct with fields:

    numberOfClicks: 1

입력 인수

모두 축소

Figure, Axes, Illustration 또는 UI 객체와 같은 그래픽스 객체입니다. 이 인수를 사용하여 data를 저장하는 Figure를 지정합니다. 지정된 객체가 Figure가 아닐 경우 data를 저장하는 데 객체의 부모 Figure가 사용됩니다.

Figure에 저장할 데이터로, 임의의 MATLAB 데이터로 지정됩니다. 일반적으로 data는 구조체로 지정되므로 필요에 따라 새 필드를 추가할 수 있습니다. 예를 들어, 다음과 같이 Category라는 필드가 있는 데이터 구조체를 만들고, 필드의 데이터를 구조체에 저장하고, 저장된 데이터를 명령 창에 표시합니다.

data.Category = 'Projected Growth';
guidata(gcf,data);
data = guidata(gcf)

알고리즘

모두 축소

버전 내역

R2006a 이전에 개발됨