Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

여러 앱 디자이너 구성요소에 대해 하나의 콜백 사용하기

앱에서 어떤 작업에 대해 여러 방법을 제공하려는 경우 구성요소 간에 콜백을 공유하는 것이 유용합니다. 예를 들어, 사용자가 버튼을 클릭하건 편집 필드에서 Enter 키를 누르건 앱이 동일한 방식으로 응답하기를 원할 수 있습니다.

공유 콜백 예제

이 예제에서는 콜백을 공유하는 두 개의 UI 구성요소를 포함하는 앱을 만드는 방법을 보여줍니다. 이 앱은 지정된 수의 레벨을 갖는 등고선 플롯을 표시합니다. 사용자가 편집 필드의 값을 변경할 때 Enter 키를 누르거나 Update Plot 버튼을 클릭하여 플롯을 업데이트할 수 있습니다.

  1. 앱 디자이너의 구성요소 라이브러리에서 좌표축 구성요소를 캔버스로 끌어서 놓습니다. 그런 후 다음과 같이 변경합니다.

    • 제목을 더블 클릭하고 Select Contours of Peaks Function으로 변경합니다.

    • X축 레이블 및 Y축 레이블을 더블 클릭하고 Delete 키를 눌러 레이블을 제거합니다.

  2. 편집 필드(숫자) 구성요소를 캔버스의 좌표축 아래로 끌어서 놓습니다. 그런 후 다음과 같이 변경합니다.

    • 편집 필드 옆에 있는 레이블을 더블 클릭하고 Levels:로 변경합니다.

    • 편집 필드를 더블 클릭하고 디폴트 값을 20으로 변경합니다.

  3. 버튼 구성요소를 캔버스의 편집 필드 옆으로 끌어서 놓습니다. 그런 다음 해당 레이블을 더블 클릭하고 Update Plot으로 변경합니다.

  4. 사용자가 버튼을 클릭할 때 실행되는 콜백 함수를 추가합니다. Update Plot 버튼을 마우스 오른쪽 버튼으로 클릭하고 콜백 > ButtonPushedFcn 콜백 추가를 선택합니다.

  5. 앱 디자이너가 코드 보기로 전환합니다. 아래 코드를 UpdatePlotButtonPushed 콜백의 본문에 붙여 넣으십시오.

    Z = peaks(100);
    nlevels = app.LevelsEditField.Value;
    contour(app.UIAxes,Z,nlevels);
    
  6. 다음으로, 콜백을 편집 필드와 공유합니다. 구성요소 브라우저에서 app.LevelsEditField 구성요소를 마우스 오른쪽 버튼으로 클릭하고 콜백 > 기존 콜백 선택...을 선택합니다. 콜백 함수 선택 대화 상자가 표시되면 이름 드롭다운 메뉴에서 UpdatePlotButtonPushed를 선택합니다.

    이 콜백을 공유하면 사용자가 편집 필드의 값을 변경하고 Enter 키를 눌러 플롯을 업데이트할 수 있습니다. 또는, 값을 변경하고 Update Plot 버튼을 눌러도 됩니다.

  7. 다음으로, 좌표축 종횡비 및 제한을 설정합니다. 구성요소 브라우저에서 app.UIAxes 구성요소를 선택합니다. 그런 후 인스펙터 탭에서 다음과 같이 변경합니다.

    • PlotBoxAspectRatio1,1,1로 설정합니다.

    • XLimYLim0,100으로 설정합니다.

  8. 실행을 클릭하여 앱을 저장한 후 실행합니다.

콜백을 변경하거나 연결 끊기

구성요소에 서로 다른 콜백을 할당하려면 구성요소 브라우저에서 해당 구성요소를 선택하십시오. 그런 다음 콜백 탭을 클릭하고 드롭다운 메뉴에서 다른 콜백을 선택합니다. 드롭다운에는 기존 콜백만 표시됩니다.

구성요소와 공유되는 콜백과의 연결을 끊으려면 구성요소 브라우저에서 해당 구성요소를 선택하십시오. 그런 다음 콜백 탭을 클릭하고 드롭다운 메뉴에서 <콜백 없음>을 선택합니다. 이 옵션을 선택하면 해당 구성요소에서만 콜백의 연결이 끊어집니다. 코드에서 함수 정의가 삭제되거나 다른 구성요소에서 콜백의 연결이 끊어지지는 않습니다. 콜백의 연결을 끊은 후에는 구성요소에 대해 새 콜백을 생성하거나 콜백 함수 없이 구성요소를 유지할 수 있습니다.

코드에서 콜백 함수 정의를 삭제하려면 코드 브라우저에서 콜백 탭으로 이동하고 제거할 콜백을 마우스 오른쪽 버튼으로 클릭하십시오. 그런 다음, 상황별 메뉴에서 삭제를 선택합니다.

관련 항목