Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Compartir datos entre devoluciones de llamada

Resumen de técnicas de intercambio de datos

Muchas aplicaciones contienen controles, menús y objetos gráficos interdependientes. Dado que cada función de devolución de llamada tiene su propio ámbito, debe compartir datos explícitamente con las partes de la aplicación que necesiten acceder a ella. La siguiente tabla describe varios métodos diferentes para compartir datos dentro de la aplicación.

MétodoDescripciónRequisitos y compensaciones
Almacenar datos en UserData u otras propiedades de objeto

Obtener o establecer valores de propiedad directamente a través del objeto de componente.

Todos los componentes de la interfaz de usuario tienen una propiedad que puede almacenar datos.UserDataMATLAB®

  • Requiere acceso al componente para establecer o recuperar las propiedades.

  • solo contiene una variable a la vez, pero puede almacenar varios valores como matriz o matriz de celdas.UserDatastruct

Almacenar datos como datos de aplicación

Asocie datos con un componente específico utilizando la función.setappdata Puede acceder a él más adelante utilizando la función.getappdata

  • Requiere acceso al componente para establecer o recuperar los datos de la aplicación.

  • Puede compartir varias variables.

Crear funciones de devolución de llamada anidadas (aplicaciones programáticas)

Anidar sus funciones de devolución de llamada dentro de su función principal. Esto proporciona a las funciones de devolución de llamada acceso a todas las variables de la función main.

  • Requiere que las funciones de devolución de llamada se codifiquen en el mismo archivo que la función principal.

  • No se recomienda para aplicaciones GUIDE.

  • Puede compartir varias variables.

Almacenar datos mediante la función guidata

Comparta datos con la ventana de figura utilizando la función.guidata

  • Almacena o recupera los datos a través de cualquier componente de interfaz de usuario.

  • Almacena solo una variable a la vez, pero puede almacenar varios valores como una matriz o matriz de celdas.struct

Almacenar datos en UserData u otras propiedades de objeto

Los componentes de interfaz de usuario contienen información útil en sus propiedades. Por ejemplo, puede encontrar la posición actual de un control deslizante consultando su propiedad.Value Además, todos los componentes tienen una propiedad, que puede almacenar cualquier variable.UserDataMATLAB Todas las funciones de devolución de llamada pueden tener acceso al valor almacenado en la propiedad siempre que esas funciones puedan tener acceso al componente.UserData

Compartir UserData en aplicaciones creadas mediante programación

Utilice la notación de puntos, component.propertyname, para obtener o establecer valores de propiedad mediante programación. La notación de puntos funciona en la versión r2014b y versiones posteriores. Este código obtiene y establece el nombre de una figura. Si está utilizando una versión anterior, utilice las funciones y en su lugar:

hfig = figure; figname = hfig.Name; hfig.Name = 'My Window';
getset
hfig = figure; figname = get(hfig,'Name'); set(hfig,'Name','My Window');

Si el código no tiene acceso directo a un componente, utilice la función para buscar ese componente.findobj Si la búsqueda se realiza correctamente, devuelve el componente como salida.findobj A continuación, puede acceder a las propiedades del componente.

El siguiente código de aplicación usa la propiedad para compartir información sobre el control deslizante.UserData Para ver cómo funciona, copie y pegue este código en un editor y ejecútelo.

Cuando el usuario mueve el control deslizante, utiliza estos comandos para almacenar datos en una estructura:

function my_slider() hfig = figure(); slider = uicontrol('Parent', hfig,'Style','slider',...          'Units','normalized',...          'Position',[0.3 0.5 0.4 0.1],...          'Tag','slider1',...          'UserData',struct('val',0,'diffMax',1),...          'Callback',@slider_callback);       button = uicontrol('Parent', hfig,'Style','pushbutton',...          'Units','normalized',...          'Position',[0.4 0.3 0.2 0.1],...          'String','Display Difference',...          'Callback',@button_callback); end  function slider_callback(hObject,eventdata)  sval = hObject.Value;  diffMax = hObject.Max - sval;  data = struct('val',sval,'diffMax',diffMax);  hObject.UserData = data;  % For R2014a and earlier:   % sval = get(hObject,'Value');    % maxval = get(hObject,'Max');    % diffMax = maxval - sval;        % data = struct('val',sval,'diffMax',diffMax);     % set(hObject,'UserData',data);     end  function button_callback(hObject,eventdata)  h = findobj('Tag','slider1');  data = h.UserData;  % For R2014a and earlier:   % data = get(h,'UserData');   display([data.val data.diffMax]); end 
slider_callback

  • almacena los valores y, en una estructura llamada.data = struct('val',sval,'diffMax',diffMax)svaldiffMaxdata

  • almacena el valor de en la propiedad del control deslizante.hObject.UserData = datadataUserData

Cuando el usuario hace clic en el botón pulsador, utiliza estos comandos para recuperar los datos:button_callback

  • encuentra el componente deslizante.h = findobj('Tag','slider1')

  • Obtiene el valor de la propiedad del control deslizante.data = h.UserDataUserData

Compartir UserData en GUIDE apps

Para configurar una aplicación GUIDE para compartir datos deslizantes con la propiedad, realice estos pasos:UserData

  1. En la ventana de comandos, escriba.guide

  2. En el cuadro de diálogo guía de inicio rápido, seleccione.Blank GUI (Default) A continuación, haga clic.OK

  3. Mostrar los nombres de los componentes de interfaz de usuario en la paleta de componente:

    1. Seleccione File > Preferences > GUIDE.

    2. Seleccione Show names in component palette.

    3. Haga clic.OK

  4. Seleccione la herramienta de pulsador de la paleta de componentes en el lado izquierdo del editor de diseño y arrástrela al área de diseño.

  5. Seleccione la herramienta deslizante en la paleta de componentes en el lado izquierdo del editor de diseño y arrástrela al área de diseño.

  6. Seleccione File > Save. Guarde la IU como. abre el archivo de código en el editor.myslider.figMATLAB

  7. Establezca el valor inicial de la propiedad en la función de apertura,.UserDatamyslider_OpeningFcn Esta función se ejecuta justo antes de que la interfaz de usuario sea visible para los usuarios.

    En, inserte estos comandos inmediatamente después del comando,. Después de agregar los comandos, se ve así.myslider_OpeningFcnhandles.output = hObject

    data = struct('val',0,'diffMax',1); set(handles.slider1,'UserData',data); 
    myslider_OpeningFcn Tenga en cuenta que es un argumento de entrada.
    function myslider_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject    handle to figure % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA) % varargin   command line arguments to junk (see VARARGIN)  % Choose default command line output for myslider handles.output = hObject; data = struct('val',0,'diffMax',1); set(handles.slider1,'UserData',data);  % Update handles structure guidata(hObject, handles);  % UIWAIT makes myslider wait for user response % uiwait(handles.figure1); 
    handlesmyslider_OpeningFcn La variable es una estructura que contiene todos los componentes de la interfaz de usuario.handles Cada campo de esta estructura corresponde a un componente independiente. Cada nombre de campo coincide con la propiedad del componente correspondiente.Tag Por lo tanto, es el componente deslizante en esta interfaz de usuario.handles.slider1 El comando, almacena la variable, en la propiedad del control deslizante.set(handles.slider1,'UserData',data)dataUserData

  8. Agregue código a la devolución de llamada del control deslizante para modificar los datos. Agregue estos comandos al final de la función,. Después de agregar los comandos, se ve así. Tenga en cuenta que es un argumento de entrada a la función. es siempre el componente que desencadena la devolución de llamada (el control deslizante, en este caso).slider1_Callback

    maxval = get(hObject,'Max');   sval = get(hObject,'Value');   diffMax = maxval - sval;    data = get(hObject,'UserData'); data.val = sval; data.diffMax = diffMax; % Store data in UserData of slider set(hObject,'UserData',data);
    slider1_Callback
    % --- Executes on slider movement. 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 range of slider maxval = get(hObject,'Max');   sval = get(hObject,'Value');   diffMax = maxval - sval;    data = get(hObject,'UserData'); data.val = sval; data.diffMax = diffMax; % Store data in UserData of slider set(hObject,'UserData',data); 
    hObjectslider1_CallbackhObject Por lo tanto, almacena la variable en la propiedad del control deslizante.set(hObject,'UserData',data)dataUserData

  9. Agregue código a la devolución de llamada del botón de inserción para recuperar los datos. Agregue estos comandos al final de la función,. Después de agregar los comandos, se ve así.pushbutton1_Callback

    % Get UserData from the slider data = get(handles.slider1,'UserData'); currentval = data.val; diffval = data.diffMax; display([currentval diffval]);
    pushbutton1_Callback

    % --- Executes on button press in pushbutton1. 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)  % Get UserData from the slider data = get(handles.slider1,'UserData'); currentval = data.val; diffval = data.diffMax; display([currentval diffval]);

    Este código usa la estructura de identificadores para tener acceso al control deslizante. El comando,, obtiene la propiedad del control deslizante.data = get(handles.slider1,'UserData')UserData A continuación, la función muestra los valores almacenados.display

  10. Guarde el código presionando el editor ToolStrip.Save

Almacenar datos como datos de aplicación

Para almacenar los datos de la aplicación, llame a la función: la primera entrada, es el objeto de componente en el que se almacenarán los datos.setappdata

setappdata(obj,name,value);
obj La segunda entrada, es un nombre descriptivo que describe el valor.name La tercera entrada, es el valor que desea almacenar.value

Para recuperar los datos de la aplicación, utilice la función:getappdata El componente, debe ser el objeto componente que contiene los datos.

data = getappdata(obj,name);
obj La segunda entrada, debe coincidir con el nombre que usó para almacenar los datos.name A diferencia de la propiedad, que solo contiene una variable, puede usar para almacenar varias variables.UserDatasetappdata

Compartir datos de aplicación en aplicaciones creadas mediante programación

Esta aplicación utiliza datos de aplicación para compartir dos valores. Para ver cómo funciona, copie y pegue este código en un editor y ejecútelo. Cuando el usuario mueve el control deslizante, la función calcula.

function my_slider() hfig = figure(); setappdata(hfig,'slidervalue',0); setappdata(hfig,'difference',1);  slider = uicontrol('Parent', hfig,'Style','slider',...          'Units','normalized',...          'Position',[0.3 0.5 0.4 0.1],...          'Tag','slider1',...          'Callback',@slider_callback);       button = uicontrol('Parent', hfig,'Style','pushbutton',...          'Units','normalized',...          'Position',[0.4 0.3 0.2 0.1],...          'String','Display Values',...          'Callback',@button_callback); end  function slider_callback(hObject,eventdata)  diffMax = hObject.Max - hObject.Value;  setappdata(hObject.Parent,'slidervalue',hObject.Value);  setappdata(hObject.Parent,'difference',diffMax);  % For R2014a and earlier:   % maxval = get(hObject,'Max');    % currval = get(hObject,'Value');    % diffMax = maxval - currval;     % parentfig = get(hObject,'Parent');    % setappdata(parentfig,'slidervalue',currval);   % setappdata(parentfig,'difference',diffMax);  end  function button_callback(hObject,eventdata)  currentval = getappdata(hObject.Parent,'slidervalue');  diffval = getappdata(hObject.Parent,'difference');  % For R2014a and earlier:  % parentfig = get(hObject,'Parent');  % currentval = getappdata(parentfig,'slidervalue');  % diffval = getappdata(parentfig,'difference');   display([currentval diffval]); end
slider_callbackdiffMax A continuación, utiliza estos comandos para modificar los datos de la aplicación:

  • almacena el valor del control deslizante actual en la figura con el nombre,.setappdata(hObject.Parent,'slidervalue',hObject.Value)'slidervalue' En este caso, es la figura.hObject.Parent

  • almacena en la figura utilizando el nombre,.setappdata(parentfig,'difference',diffMax)diffMax'difference'

Cuando el usuario hace clic en el botón pulsador, la función recupera los datos mediante estos comandos:button_callback

  • Recupera el valor del control deslizante actual de la figura.currentval = getappdata(hObject.Parent,'slidervalue') En este caso, es la figura.hObject.Parent

  • recuperar el valor de diferencia de la figura.diffval = getappdata(hObject.Parent,'difference')

Compartir datos de aplicaciones en GUIDE apps

Para configurar una aplicación GUIDE para compartir datos de aplicaciones, realice estos pasos:

  1. En la ventana de comandos, escriba.guide

  2. En el cuadro de diálogo guía de inicio rápido, seleccione.Blank GUI (Default) A continuación, haga clic.OK

  3. Mostrar los nombres de los componentes de interfaz de usuario en la paleta de componente:

    1. Seleccione File > Preferences > GUIDE.

    2. Seleccione Show names in component palette.

    3. Haga clic.OK

  4. Seleccione la herramienta de pulsador de la paleta de componentes en el lado izquierdo del editor de diseño y arrástrela al área de diseño.

  5. Seleccione la herramienta deslizante en la paleta de componentes en el lado izquierdo del editor de diseño y arrástrela al área de diseño.

  6. Seleccione File > Save. Guarde la IU como. abre el archivo de código en el editor.myslider.figMATLAB

  7. Establezca el valor inicial de los datos de la aplicación en la función de apertura,.myslider_OpeningFcn Esta función se ejecuta justo antes de que la interfaz de usuario sea visible para los usuarios. En, inserte estos comandos inmediatamente después del comando,. Después de agregar los comandos, se ve así.myslider_OpeningFcnhandles.output = hObject

    setappdata(handles.figure1,'slidervalue',0);  setappdata(handles.figure1,'difference',1);
    myslider_OpeningFcn Tenga en cuenta que es un argumento de entrada.
    function myslider_OpeningFcn(hObject,eventdata,handles,varargin) % This function has no output args, see OutputFcn. % hObject    handle to figure % eventdata  reserved - to be defined in a future version of MATLAB % handles    structure with handles and user data (see GUIDATA) % varargin   command line arguments to junk (see VARARGIN)  % Choose default command line output for junk handles.output = hObject; setappdata(handles.figure1,'slidervalue',0);  setappdata(handles.figure1,'difference',1);  % Update handles structure guidata(hObject, handles);  % UIWAIT makes junk wait for user response (see UIRESUME) % uiwait(handles.figure1); 
    handlesmyslider_OpeningFcn La variable es una estructura que contiene todos los componentes de la interfaz de usuario.handles Cada campo de esta estructura corresponde a un componente independiente. Cada nombre de campo coincide con la propiedad del componente correspondiente.Tag En este caso, es el objeto de la figura.handles.figure1 Por lo tanto, puede utilizar este objeto de figura para almacenar los datos.setappdata

  8. Agregue código a la devolución de llamada del control deslizante para cambiar los datos. Agregue estos comandos al final de la función,. Después de agregar los comandos, se ve así. Esta función de devolución de llamada tiene acceso a la estructura, por lo que los comandos almacenan los datos en.slider1_Callback

    maxval = get(hObject,'Max');   currval = get(hObject,'Value');   diffMax = maxval - currval;    % Store application data setappdata(handles.figure1,'slidervalue',currval);  setappdata(handles.figure1,'difference',diffMax);
    slider1_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 range of slider maxval = get(hObject,'Max');   currval = get(hObject,'Value');   diffMax = maxval - currval;    % Store application data setappdata(handles.figure1,'slidervalue',currval);  setappdata(handles.figure1,'difference',diffMax);
    handlessetappdatahandles.figure1

  9. Agregue código a la devolución de llamada del botón de inserción para recuperar los datos. Agregue estos comandos al final de la función,. Después de agregar los comandos, se ve así. Esta función de devolución de llamada tiene acceso a la estructura, por lo que los comandos recuperan los datos de.pushbutton1_Callback

    % Retrieve application data currentval = getappdata(handles.figure1,'slidervalue'); diffval = getappdata(handles.figure1,'difference'); display([currentval diffval]);
    pushbutton1_Callback
    % --- Executes on button press in pushbutton1. 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)  % Retrieve application data currentval = getappdata(handles.figure1,'slidervalue'); diffval = getappdata(handles.figure1,'difference'); display([currentval diffval]);
    handlesgetappdatahandles.figure1

  10. Guarde el código presionando el editor ToolStrip.Save

Crear funciones de devolución de llamada anidadas (aplicaciones programáticas)

Puede anidar funciones de devolución de llamada dentro de la función principal de una aplicación programática. Al hacerlo, las funciones de devolución de llamada anidadas comparten un espacio de trabajo con la función main. Como resultado, las funciones anidadas tienen acceso a todos los componentes de la interfaz de usuario y las variables definidas en la función main. El siguiente código de ejemplo utiliza funciones anidadas para compartir datos sobre la posición del control deslizante. Para ver cómo funciona, copie y pegue este código en un editor y ejecútelo. La función Main define una matriz llamada.

function my_slider()  hfig = figure();  data = struct('val',0,'diffMax',1);  slider = uicontrol('Parent', hfig,'Style','slider',...          'Units','normalized',...          'Position',[0.3 0.5 0.4 0.1],...          'Tag','slider1',...          'Callback',@slider_callback);        button = uicontrol('Parent', hfig,'Style','pushbutton',...          'Units','normalized',...          'Position',[0.4 0.3 0.2 0.1],...          'String','Display Difference',...          'Callback',@button_callback);   function slider_callback(hObject,eventdata)   sval = hObject.Value;   diffMax = hObject.Max - sval;   % For R2014a and earlier:   % sval = get(hObject,'Value');   % maxval = get(hObject,'Max');   % diffMax = maxval - sval;    data.val = sval;   data.diffMax = diffMax;  end   function button_callback(hObject,eventdata)   display([data.val data.diffMax]);  end end 
structdata Cuando el usuario mueve el control deslizante, la función actualiza los campos y de la estructura.slider_callbackvaldiffMaxdata Cuando el usuario final hace clic en el botón pulsador, la función muestra los valores almacenados.button_callbackdata

Nota

Las funciones anidadas no se recomiendan para las aplicaciones GUIDE.

Almacenar datos mediante la función guidata

La función proporciona una manera de compartir datos con la ventana de la figura.guidata Puede almacenar o recuperar los datos en cualquier devolución de llamada a través del componente.hObject Esto significa que, a diferencia de trabajar con datos o de aplicaciones, no es necesario tener acceso a un componente específico para establecer u obtener los datos.UserData Llame con dos argumentos de entrada para almacenar datos: la primera entrada, es cualquier componente de interfaz de usuario (normalmente).guidata

guidata(object_handle,data);
object_handlehObject La segunda entrada, es la variable que se va a almacenar.data Cada vez que se llama mediante dos argumentos de entrada, sobrescribe los datos almacenados previamente.guidataMATLAB Esto significa que solo puede almacenar una variable a la vez. Si desea compartir varios valores, almacene los datos como una matriz o matriz de celdas.struct

Para recuperar datos, llame mediante un argumento de entrada y un argumento de salida: el componente que especifique para almacenar los datos no necesita ser el mismo componente que utiliza para recuperarlo.guidata

data = guidata(object_handle);

Si los datos se almacenan como una matriz o matriz de celdas, y desea actualizar un elemento sin cambiar los demás elementos, a continuación, recupere los datos y reemplácelo con la matriz modificada:struct

data = guidata(hObject); data.myvalue = 2; guidata(hObject,data);

Usar guidata en aplicaciones creadas mediante programación

Para usar en una aplicación programática, almacene los datos con algunos valores iniciales en la función main.guidata A continuación, puede recuperar y modificar los datos en cualquier función de devolución de llamada.

El código siguiente es un ejemplo sencillo de una aplicación de programación que usa para compartir una estructura que contiene dos campos.guidata Para ver cómo funciona, copie y pegue este código en un editor y ejecútelo. Cuando el usuario mueve el control deslizante, la función ejecuta estos comandos para recuperar y modificar los datos almacenados:

function my_slider() hfig = figure(); guidata(hfig,struct('val',0,'diffMax',1)); slider = uicontrol('Parent', hfig,'Style','slider',...          'Units','normalized',...          'Position',[0.3 0.5 0.4 0.1],...          'Tag','slider1',...          'Callback',@slider_callback);       button = uicontrol('Parent', hfig,'Style','pushbutton',...          'Units','normalized',...          'Position',[0.4 0.3 0.2 0.1],...          'String','Display Values',...          'Callback',@button_callback); end  function slider_callback(hObject,eventdata)  data = guidata(hObject);  data.val = hObject.Value;  data.diffMax = hObject.Max - data.val;  % For R2014a and earlier:  % data.val = get(hObject,'Value');  % maxval = get(hObject,'Max');  % data.diffMax = maxval - data.val;   guidata(hObject,data); end  function button_callback(hObject,eventdata)  data = guidata(hObject);  display([data.val data.diffMax]); end
slider_callback

  • Recupera los datos almacenados como una estructura.data = guidata(hObject)

  • modifica el campo de la estructura.data.diffMax = maxval - data.valdiffMax

  • almacena la estructura modificada.guidata(hObject,data)

Cuando el usuario hace clic en el botón de inserción, la función llama para recuperar una copia de la estructura almacenada.button_callbackguidata A continuación, muestra los dos valores almacenados en la estructura.

Utilice guidata en GUIDE apps

GUIDE utiliza la función para almacenar una estructura llamada, que contiene todos los componentes de la interfaz de usuario. pasa la matriz a cada función de devolución de llamada.guidatahandlesMATLABhandles Si desea utilizar para compartir datos adicionales, a continuación, añadir campos a la estructura en la función de apertura.guidatahandles La función de apertura es una función definida cerca de la parte superior del archivo de código que tiene en el nombre._OpeningFcn

Para modificar los datos en una función de devolución de llamada, modifique la estructura y, a continuación, guárdela con la función.handlesguidata Esta función de devolución de llamada deslizante muestra cómo modificar y almacenar la estructura en una función de devolución de llamada GUIDE.handles

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 range  handles.myvalue = 2;  guidata(hObject,handles); end 

Ejemplo de GUIDE: compartir datos deslizantes mediante guidata

Aquí hay una aplicación GUIDE precompilable que utiliza la función para compartir datos entre un deslizador y un campo de texto.guidata Al mover el deslizador, el número mostrado en el campo de texto cambia para mostrar la nueva posición del deslizador.

Ejemplo de GUIDE: compartir datos entre dos aplicaciones

Aquí hay una aplicación GUIDE Precompilando que utiliza los datos de la aplicación y la función para compartir datos entre dos cuadros de diálogo.guidata Al introducir texto en el segundo cuadro de diálogo y hacer clic, la etiqueta del botón cambia en el primer cuadro de diálogo.OK

En, la función ejecuta este comando para mostrar el segundo cuadro de diálogo:changeme_main.mbuttonChangeMe_Callback

changeme_dialog('changeme_main', handles.figure)

El argumento de entrada es el objeto del cuadro de diálogo.handles.figureFigurechangeme_main

La función recupera la estructura del objeto.changeme_dialoghandlesFigure Por lo tanto, todo el conjunto de componentes en el cuadro de diálogo está disponible para el segundo cuadro de diálogo.changeme_main

Ejemplo de GUIDE: compartir datos entre tres aplicaciones

Aquí hay una aplicación GUIDE Precompilando que utiliza y para compartir datos entre tres ventanas de la aplicación.guidataUserData La ventana grande es un editor de iconos que acepta información de la paleta de herramientas y las ventanas de paleta de colores.

En, la función contiene este comando:guide_inconeditor.mguide_iconeditor_OpeningFcn

colorPalette = guide_colorpalette('iconEditor', hObject)

Los argumentos son:

  • Especifica que una devolución de llamada en la ventana desencadenó la ejecución de la función.'iconEditor'guide_iconEditor

  • es el objeto de la ventana.hObjectFigureguide_iconEditor

  • es el objeto de la ventana.colorPaletteFigureguide_colorPalette

De forma similar, llama a la función con argumentos de entrada y salida similares.guide_iconeditor_OpeningFcnguide_toolpalette

Pasar el objeto entre estas funciones permite que la ventana tenga acceso a la estructura de las otras dos ventanas.Figureguide_iconEditorhandles Del mismo modo, las otras dos ventanas pueden acceder a la estructura de la ventana.handlesguide_iconEditor

Temas relacionados