Main Content

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

앱에서 어떤 작업에 대해 여러 방법을 제공하려는 경우 컴포넌트 간에 콜백을 공유하는 것이 유용합니다. 예를 들어, 사용자가 버튼을 클릭하거나 편집 필드에서 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 컴포넌트를 선택합니다. 그런 후 좌표축 탭에서 다음과 같이 변경합니다.

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

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

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

    Run button

관련 항목