주요 콘텐츠

여러 앱 디자이너 컴포넌트에 대해 하나의 콜백 사용하기

R2026b

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

공유 콜백 예제

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

App with a contour plot, an edit field labeled "Levels", and a button labeled "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를 선택합니다.

    Select Callback Function dialog box. The Callback drop-down list has ValueChangedFcn selected and the Name drop-down list has UpdatePlotButtonPushed selected.

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

  7. 다음으로, 좌표축 종횡비 및 제한을 설정합니다. 컴포넌트 브라우저에서 app.UIAxes 컴포넌트를 선택합니다. 그런 후 좌표축 탭에서 다음과 같이 변경합니다.

    • PlotBoxAspectRatio를 1,1,1로 설정합니다.

    • XLim 및 YLim을 0,100으로 설정합니다.

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

    Run button

참고 항목

도움말 항목