특정 컴포넌트에 대한 콜백
참고
GUIDE 환경은 향후 릴리스에서 제거될 예정입니다. GUIDE가 제거된 후에도 기존 GUIDE 앱은 MATLAB®에서 계속 실행할 수 있지만 GUIDE에서 편집할 수는 없게 됩니다.
기존의 GUIDE 앱을 계속 편집하려면 GUIDE 마이그레이션 전략 항목에서 향후 MATLAB 릴리스와의 앱 호환성을 유지하는 방법에 대한 내용을 참고하십시오. 대화형 방식으로 새 앱을 만들려면 앱 디자이너를 사용하여 앱 개발하기 항목을 대신 참조하십시오.
UI 컴포넌트의 동작을 코딩하려면 사용 중인 컴포넌트 유형에 맞는 작업을 수행해야 합니다. 이 항목에는 각 컴포넌트 유형에 대한 간단한 콜백 예시가 포함되어 있습니다. 콜백 코딩에 대한 일반적인 정보는 GUIDE에서 콜백 작성하기 항목 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.
예시 코드를 사용하는 방법
GUIDE에서 작업하는 경우, 레이아웃에 있는 컴포넌트를 마우스 오른쪽 버튼으로 클릭하고 콜백 보기 메뉴에서 적절한 콜백 속성을 선택합니다. 이렇게 하면 컴포넌트에 자동으로 연결된 빈 콜백 함수가 만들어집니다. GUIDE가 만든 특정 함수의 이름은 컴포넌트의 Tag
속성에 따라 결정되므로, 사용자의 함수 이름과 예시 코드의 함수 이름은 약간 다를 수 있습니다. GUIDE가 사용자의 코드에서 만든 함수 이름을 변경하지 마십시오. 앱에서 예시 코드를 사용하려면 예시 함수 본문의 코드를 사용자의 함수 본문으로 복사하십시오.
누름 버튼
다음 코드는 GUIDE에서 사용하는 누름 버튼 콜백 함수의 예시입니다. 최종 사용자가 누름 버튼을 클릭하면 함수가 실행되도록 아래 함수와 누름 버튼의 Callback
속성을 연결합니다.
function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) display('Goodbye'); close(gcf);
코드의 첫 번째 줄인 display('Goodbye')
는 명령 창에 'Goodbye'
를 표시합니다. 다음 라인은 gcf
를 사용하여 UI 창을 식별한 후 닫습니다.
토글 버튼
다음 코드는 GUIDE에서 사용하는 토글 버튼 콜백 함수의 예시입니다. 최종 사용자가 토글 버튼을 클릭하면 함수가 실행되도록 아래 함수와 토글 버튼의 Callback
속성을 연결합니다.
function togglebutton1_Callback(hObject,eventdata,handles) % hObject handle to togglebutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of togglebutton1 button_state = get(hObject,'Value'); if button_state == get(hObject,'Max') display('down'); elseif button_state == get(hObject,'Min') display('up'); end
토글 버튼을 놓으면 토글 버튼의 Value
속성은 Min
속성과 일치합니다. 토글 버튼을 누르면 Value
가 Max
값으로 변경됩니다. 이 콜백 함수는 토글 버튼의 Value
속성을 가져온 다음, 이 속성을 Max
속성 및 Min
속성과 비교합니다. 버튼을 누르면 함수는 명령 창에 'down'
을 표시합니다. 버튼을 놓으면 함수는 'up'
을 표시합니다.
라디오 버튼
다음 코드는 GUIDE에서 사용하는 라디오 버튼 콜백 함수의 예시입니다. 최종 사용자가 라디오 버튼을 클릭하면 함수가 실행되도록 아래 함수와 라디오 버튼의 Callback
속성을 연결합니다.
function radiobutton1_Callback(hObject, eventdata, handles) % hObject handle to radiobutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of radiobutton1 if (get(hObject,'Value') == get(hObject,'Max')) display('Selected'); else display('Not selected'); end
라디오 버튼을 선택하지 않으면 라디오 버튼의 Value
속성은 Min
속성과 일치합니다. 라디오 버튼을 선택하면 Value
가 Max
값으로 변경됩니다. 이 콜백 함수는 라디오 버튼의 Value
속성을 가져온 다음, 이 속성을 Max
속성 및 Min
속성과 비교합니다. 버튼을 선택하면 함수는 명령 창에 'Selected'
를 표시합니다. 버튼을 선택하지 않으면 함수는 'Not selected'
를 표시합니다.
참고
버튼 그룹을 사용하여 라디오 버튼을 하나만 선택하도록 관리합니다. 자세한 내용은 버튼 그룹 항목을 참조하십시오.
체크박스
다음 코드는 GUIDE에서 사용하는 체크박스 콜백 함수의 예시입니다. 최종 사용자가 체크박스를 클릭하면 함수가 실행되도록 아래 함수와 체크박스의 Callback
속성을 연결합니다.
function checkbox1_Callback(hObject, eventdata, handles) % hObject handle to checkbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of checkbox1 if (get(hObject,'Value') == get(hObject,'Max')) display('Selected'); else display('Not selected'); end
체크박스를 선택하지 않으면 체크박스의 Value
속성은 Min
속성과 일치합니다. 체크박스를 선택하면 Value
가 Max
값으로 변경됩니다. 이 콜백 함수는 체크박스의 Value
속성을 가져온 다음, 이 속성을 Max
속성 및 Min
속성과 비교합니다. 체크박스를 선택하면 함수는 명령 창에 'Selected'
를 표시합니다. 체크박스를 선택하지 않으면 함수는 'Not selected'
를 표시합니다.
편집가능 텍스트 필드
다음 코드는 GUIDE에서 사용하는 편집가능 텍스트 필드에 대한 콜백의 예시입니다. 최종 사용자가 텍스트 필드에 입력하면 함수가 실행되도록 아래 함수와 uicontrol의 Callback
속성을 연결합니다.
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents as double input = get(hObject,'String'); display(input);
사용자가 텍스트 필드에 문자를 입력하고 Enter 키를 누르면 콜백 함수는 해당 문자를 가져와 명령 창에 표시합니다.
사용자가 여러 텍스트 줄을 입력할 수 있도록 하려면 Max
속성과 Min
속성을 Max - Min > 1
조건을 충족하는 숫자형 값으로 설정하십시오. 예를 들어, 이 부등식을 충족하도록 Max
는 2
, Min
은 0
으로 설정합니다. 이 경우, 최종 사용자가 UI에서 텍스트 필드의 외부 영역을 클릭하면 콜백 함수가 트리거됩니다.
숫자형 값 가져오기
편집가능 텍스트 필드의 내용을 숫자형 값으로 해석하려면 str2double
함수를 사용하여 문자를 숫자로 변환하십시오. str2double
함수는 숫자형이 아닌 입력값에 대해 NaN
을 반환합니다.
다음 코드는 사용자의 입력값을 숫자형 값으로 해석하는 편집가능 텍스트 필드 콜백 함수의 예시입니다.
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents as a double input = str2double(get(hObject,'String')); if isnan(input) errordlg('You must enter a numeric value','Invalid Input','modal') uicontrol(hObject) return else display(input); end
최종 사용자가 편집가능 텍스트 필드에 값을 입력하고 Enter 키를 누르면 콜백 함수는 String
속성값을 가져와 숫자형 값으로 변환합니다. 그런 다음, 값이 NaN
(숫자형이 아님)인지 확인합니다. 입력값이 NaN
이면 콜백은 오류 대화 상자를 표시합니다.
슬라이더
다음 코드는 GUIDE에서 사용하는 슬라이더 콜백 함수의 예시입니다. 최종 사용자가 슬라이더를 이동하면 함수가 실행되도록 아래 함수와 슬라이더의 Callback
속성을 연결합니다.
function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine... slider_value = get(hObject,'Value'); display(slider_value);
최종 사용자가 슬라이더를 이동하면 콜백 함수는 슬라이더의 현재 값을 가져와 명령 창에 표시합니다. 기본적으로 슬라이더의 범위는 [0, 1]입니다. 범위를 수정하려면 슬라이더의 Max
속성과 Min
속성을 각각 최댓값과 최솟값으로 설정하십시오.
목록 상자
목록 상자의 항목 채우기
GUIDE를 사용하여 앱을 개발하는 경우, 목록 상자의 CreateFcn
콜백을 사용하여 목록 상자에 항목을 추가합니다.
다음 코드는 목록 상자를 항목 Red
, Green
, Blue
로 채우는 CreateFcn
콜백의 예시입니다.
function listbox1_CreateFcn(hObject, eventdata, handles) % hObject handle to listbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns % Hint: listbox controls usually have a white background on Windows. if ispc && isequal(get(hObject,'BackgroundColor'), ... get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end set(hObject,'String',{'Red';'Green';'Blue'});
set(hObject,'String',{'Red';'Green';'Blue'})
가 목록 상자의 내용을 채웁니다.선택한 항목 변경하기
최종 사용자가 목록 상자 항목을 선택하면 목록 상자의 Value
속성은 목록에서 항목의 위치에 해당하는 숫자로 변경됩니다. 예를 들어, 값 1
은 목록의 첫 번째 항목에 해당합니다. 코드에서 선택 항목을 변경하려면 Value
속성을 1
과 목록의 항목 개수 사이의 다른 숫자로 변경하십시오.
예를 들어, 다음과 같이 GUIDE에서 handles
구조체를 사용하여 목록 상자에 액세스하고 Value
속성을 변경할 수 있습니다.
set(handles.listbox1,'Value',2)
목록 상자의 Tag
속성값에 따라 첫 번째 인수 handles.listbox1
은 사용자의 코드에서 다를 수 있습니다.
콜백 함수 작성하기
다음 코드는 GUIDE에서 사용하는 목록 상자 콜백 함수의 예시입니다. 최종 사용자가 목록 상자에서 항목을 선택하면 함수가 실행되도록 아래 함수와 목록 상자의 Callback
속성을 연결합니다.
function listbox1_Callback(hObject, eventdata, handles) % hObject handle to listbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns contents % contents{get(hObject,'Value')} returns selected item from listbox1 items = get(hObject,'String'); index_selected = get(hObject,'Value'); item_selected = items{index_selected}; display(item_selected);
최종 사용자가 목록 상자에서 항목을 선택하면 콜백 함수는 다음 작업을 수행합니다.
목록 상자의 항목을 모두 가져와 변수
items
에 저장합니다.선택한 항목의 숫자 인덱스를 가져와 변수
index_selected
에 저장합니다.선택한 항목의 값을 가져와 변수
item_selected
에 저장합니다.MATLAB 명령 창에 선택한 항목을 표시합니다.
예제 GUIDE의 대화형 방식 목록 상자 앱에서는 목록 상자를 디렉터리 이름으로 채우는 방법을 보여줍니다.
팝업 메뉴
팝업 메뉴의 항목 채우기
GUIDE를 사용하여 앱을 개발하는 경우, 팝업 메뉴의 CreateFcn
콜백을 사용하여 팝업 메뉴에 항목을 추가합니다.
다음 코드는 팝업 메뉴를 항목 Red
, Green
, Blue
로 채우는 CreateFcn
콜백의 예시입니다.
function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns % Hint: popupmenu controls usually have a white background on Windows. if ispc && isequal(get(hObject,'BackgroundColor'),... get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end set(hObject,'String',{'Red';'Green';'Blue'});
set(hObject,'String',{'Red';'Green';'Blue'})
가 팝업 메뉴의 내용을 채웁니다.선택한 항목 변경하기
최종 사용자가 항목을 선택하면 팝업 메뉴의 Value
속성은 메뉴에서 항목의 위치에 해당하는 숫자로 변경됩니다. 예를 들어, 값 1
은 목록의 첫 번째 항목에 해당합니다. 코드에서 선택 항목을 변경하려면 Value
속성을 1
과 메뉴의 항목 개수 사이의 다른 숫자로 변경하십시오.
예를 들어, 다음과 같이 GUIDE에서 handles
구조체를 사용하여 팝업 메뉴에 액세스하고 Value
속성을 변경할 수 있습니다.
set(handles.popupmenu1,'Value',2)
팝업 메뉴의 Tag
속성값에 따라 첫 번째 인수 handles.popupmenu1
은 사용자의 코드에서 다를 수 있습니다.
콜백 함수 작성하기
다음 코드는 GUIDE에서 사용하는 팝업 메뉴 콜백 함수의 예시입니다. 최종 사용자가 메뉴에서 항목을 선택하면 함수가 실행되도록 아래 함수와 팝업 메뉴의 Callback
속성을 연결합니다.
function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns contents... % contents{get(hObject,'Value')} returns selected item... items = get(hObject,'String'); index_selected = get(hObject,'Value'); item_selected = items{index_selected}; display(item_selected);
사용자가 팝업 메뉴에서 항목을 선택하면 콜백 함수는 다음 작업을 수행합니다.
팝업 메뉴의 항목을 모두 가져와 변수
items
에 저장합니다.선택한 항목의 숫자 인덱스를 가져와 변수
index_selected
에 저장합니다.선택한 항목의 값을 가져와 변수
item_selected
에 저장합니다.MATLAB 명령 창에 선택한 항목을 표시합니다.
패널
패널이 버튼 클릭에 응답하도록 설정하기
최종 사용자가 패널에서 마우스 오른쪽 또는 왼쪽 버튼을 클릭하면 실행되는 콜백 함수를 만들 수 있습니다. GUIDE에서 작업하는 경우, 레이아웃에 있는 패널을 마우스 오른쪽 버튼으로 클릭하고 콜백 보기 > ButtonDownFcn을 선택하여 콜백 함수를 만듭니다.
다음 코드는 GUIDE에서 사용하는 ButtonDownFcn
콜백의 예시입니다.
function uipanel1_ButtonDownFcn(hObject, eventdata, handles) % hObject handle to uipanel1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) display('Mouse button was pressed');
'Mouse button was pressed'
를 표시합니다.창과 패널의 크기 조정하기
기본적으로는 GUIDE UI의 크기를 조정할 수 없지만, 툴 > GUI 옵션을 선택하고 크기 조정 동작을 비례로 설정하여 이 동작을 재정의할 수 있습니다.
UI 창의 크기를 조정할 수 있는 경우, 사용자가 크기를 조정하면 창에서 컴포넌트의 위치가 조정됩니다. UI에 패널이 있으면 패널 크기도 창 크기와 함께 변경됩니다. 패널 크기가 조정될 때 앱이 특정 작업을 수행하도록 하려면 패널의 SizeChangedFcn
콜백을 사용하십시오.
다음 코드는 GUIDE 앱에서 사용하는 패널의 SizeChangedFcn
콜백 예시입니다. 사용자가 창 크기를 조정하면 이 함수는 패널 내 정적 텍스트의 글꼴 크기를 수정합니다.
function uipanel1_SizeChangedFcn(hObject, eventdata, handles) % hObject handle to uipanel1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(hObject,'Units','Points') panelSizePts = get(hObject,'Position'); panelHeight = panelSizePts(4); set(hObject,'Units','normalized'); newFontSize = 10 * panelHeight / 115; texth = findobj('Tag','text1'); set(texth,'FontSize',newFontSize);
UI에 중첩된 패널이 포함되어 있으면 패널은 안쪽에서 바깥쪽 순서로(자식에서 부모 순서로) 크기가 조정됩니다.
참고
패널 내 텍스트의 크기가 자동으로 조정되도록 하려면 fontUnits
속성을 'normalized'
로 설정하십시오.
버튼 그룹
버튼 그룹은 패널과 유사한 역할을 하지만, 그 외에 라디오 버튼과 토글 버튼을 하나만 선택하도록 관리하는 작업도 합니다. 버튼 그룹에 라디오 버튼 또는 토글 버튼이 여러 개 포함되어 있으면 버튼 그룹에서 최종 사용자는 그중 하나만 선택할 수 있습니다.
버튼 그룹 내에 있는 개별 버튼에 대한 콜백을 코딩하지 마십시오. 대신 버튼 그룹의 SelectionChangedFcn
콜백을 사용하여 최종 사용자가 버튼을 선택하면 응답하도록 설정합니다.
다음 코드는 라디오 버튼 2개와 토글 버튼 2개를 관리하는 버튼 그룹의 SelectionChangedFcn
콜백 예시입니다.
function uibuttongroup1_SelectionChangedFcn(hObject, eventdata, handles) % hObject handle to the selected object in uibuttongroup1 % eventdata structure with the following fields % EventName: string 'SelectionChanged' (read only) % OldValue: handle of the previously selected object or empty % NewValue: handle of the currently selected object % handles structure with handles and user data (see GUIDATA) switch get(eventdata.NewValue,'Tag') % Get Tag of selected object. case 'radiobutton1' display('Radio button 1'); case 'radiobutton2' display('Radio button 2'); case 'togglebutton1' display('Toggle button 1'); case 'togglebutton2' display('Toggle button 2'); end
최종 사용자가 버튼 그룹에서 라디오 버튼 또는 토글 버튼 하나를 선택하면 이 함수는 버튼의 Tag
속성을 참조하여 사용자가 어떤 버튼을 선택했는지 확인합니다. 그런 다음, 함수는 적합한 case
내의 코드를 실행합니다.
참고
버튼 그룹의 SelectedObject
속성에는 사용자가 선택한 버튼에 대한 핸들이 포함됩니다. 코드의 다른 위치에서도 이 속성을 사용하면 사용자가 선택한 버튼을 확인할 수 있습니다.
메뉴 항목
이 섹션의 코드에는 최종 사용자가 메뉴에서 Edit > Copy > To File을 선택할 때 응답하는 콜백 함수 예시가 포함되어 있습니다.
% -------------------------------------------------------------------- function edit_menu_Callback(hObject, eventdata, handles) % hObject handle to edit_menu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) display('Edit menu selected'); % -------------------------------------------------------------------- function copy_menu_item_Callback(hObject, eventdata, handles) % hObject handle to copy_menu_item (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) display('Copy menu item selected'); % -------------------------------------------------------------------- function tofile_menu_item_Callback(hObject, eventdata, handles) % hObject handle to tofile_menu_item (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename,path] = uiputfile('myfile.m','Save file name');
다음 동작을 수행하면 콜백 함수가 트리거됩니다.
최종 사용자가 Edit 메뉴를 선택하면
edit_menu_Callback
함수는 텍스트'Edit menu selected'
를 MATLAB 명령 창에 표시합니다.최종 사용자가 마우스를 Copy 메뉴 항목 위로 가져가면
copy_menu_item_Callback
함수는 텍스트'Copy menu item selected'
를 MATLAB 명령 창에 표시합니다.최종 사용자가 To File 메뉴 항목에서 마우스 버튼을 클릭했다가 놓으면
tofile_menu_item_Callback
함수는 최종 사용자에게 대상 폴더 이름/대상 파일 이름을 선택하도록 요청하는 대화 상자를 표시합니다.
tofile_menu_item_Callback
함수는 최종 사용자에게 대상 파일/대상 폴더를 지정하도록 요청하는 uiputfile
함수를 호출합니다. 최종 사용자에게 기존 파일을 선택하도록 요청하는 메뉴 항목을 만들려면(예를 들어, UI에 Open File 메뉴 항목이 있는 경우) uigetfile
함수를 사용하십시오.
이와 같은 계단식 메뉴를 만들고 마우스를 이 메뉴 위로 가져가면 중간 메뉴 항목이 트리거됩니다. 메뉴 항목 위에서 마우스 버튼을 놓으면 마지막 종료 메뉴 항목이 트리거됩니다.
메뉴 항목 확인 표시를 업데이트하는 방법
옵션이 활성화되었음을 나타내는 확인 표시를 메뉴 항목 옆에 추가할 수 있습니다. 기본적으로 메뉴 항목에 확인 표시를 하도록 설정하려면 GUIDE의 메뉴 편집기에서 이 항목에 확인 표시를 선택하십시오. 최종 사용자가 메뉴 항목을 선택할 때마다 콜백 함수는 확인 표시를 설정하거나 해제할 수 있습니다.
다음 코드에서는 메뉴 항목 옆의 확인 표시를 변경하는 방법을 보여줍니다.
if strcmp(get(hObject,'Checked'),'on') set(hObject,'Checked','off'); else set(hObject,'Checked','on'); end
strcmp
함수는 2개의 문자형 벡터를 비교하여 서로 일치하면 true
를 반환합니다. 위의 경우, 메뉴 항목의 Checked
속성이 문자형 벡터 'on'
과 일치하면 이 함수는 true
를 반환합니다.
GUIDE에서 메뉴 항목을 만드는 방법에 대한 자세한 내용은 GUIDE 앱의 메뉴 만들기 항목을 참조하십시오.
테이블
다음 코드는 테이블 콜백 함수 CellSelectionCallback
의 예시입니다. 최종 사용자가 테이블에서 셀을 선택하면 함수가 실행되도록 아래 함수와 테이블의 CellSelectionCallback
속성을 연결합니다.
function uitable1_CellSelectionCallback(hObject, eventdata, handles) % hObject handle to uitable1 (see GCBO) % eventdata structure with the following fields % Indices: row and column indices of the cell(s) currently selected % handles structure with handles and user data (see GUIDATA) data = get(hObject,'Data'); indices = eventdata.Indices; r = indices(:,1); c = indices(:,2); linear_index = sub2ind(size(data),r,c); selected_vals = data(linear_index); selection_sum = sum(sum(selected_vals))
최종 사용자가 테이블에서 셀을 선택하면 이 함수는 다음 작업을 수행합니다.
테이블의 모든 값을 가져와 변수
data
에 저장합니다.선택한 셀의 인덱스를 가져옵니다. 이 인덱스는
data
의 행과 열에 대응합니다.행 인덱스와 열 인덱스를 선형 인덱스로 변환합니다. 선형 인덱스를 사용하면 하나의 명령으로 배열에서 여러 개의 요소를 선택할 수 있습니다.
최종 사용자가 선택한 값을 가져와 변수
selected_vals
에 저장합니다.선택한 모든 값을 더해 그 결과를 명령 창에 표시합니다.
다음 코드는 테이블 콜백 함수 CellEditCallback
의 예시입니다. 최종 사용자가 테이블의 셀을 편집하면 함수가 실행되도록 아래 함수와 테이블의 CellEditCallback
속성을 연결합니다.
function uitable1_CellEditCallback(hObject, eventdata, handles) % hObject handle to uitable1 (see GCBO) % eventdata structure with the following fields % Indices: row and column indices of the cell(s) edited % PreviousData: previous data for the cell(s) edited % EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. % Empty if Data was not changed % Error: error string when failed to convert EditData data = get(hObject,'Data'); data_sum = sum(sum(data))
ColumnEditable
속성이 true
로 설정되어 있어야 합니다.좌표축
이 섹션의 코드는 최종 사용자가 좌표축을 클릭할 때 트리거되는 좌표축의 ButtonDownFcn
의 예시입니다.
function axes1_ButtonDownFcn(hObject, eventdata, handles) % hObject handle to axes1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) pt = get(hObject,'CurrentPoint')