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.

Agregar componentes de interfaz de usuario al diseñador de aplicaciones mediante programación

La mayoría de los componentes de la interfaz de usuario están disponibles en el diseñador de aplicaciones para arrastrar y colocar en el lienzo.Component Library Ocasionalmente, es posible que necesite agregar componentes mediante programación en la vista de código. Estas son algunas situaciones comunes:

  • Crear componentes que no están disponibles en el.Component Library Por ejemplo, una aplicación que muestra un cuadro de diálogo debe llamar a la función adecuada para mostrar el cuadro de diálogo.

  • Crear componentes dinámicamente según las condiciones de tiempo de ejecución.

Al agregar componentes de interfaz de usuario mediante programación, debe llamar a la función adecuada para crear el componente, asignar una devolución de llamada al componente y, a continuación, escribir la devolución de llamada como una función auxiliar.

Cree el componente y asigne la devolución de llamada

Llame a la función que crea el componente desde dentro de una devolución de llamada existente (para obtener una lista de funciones de componente, consulte).Diseño de aplicaciones en App Designer La devolución de llamada es un buen lugar para crear componentes porque esa devolución de llamada se ejecuta cuando se inicia la aplicación.StartupFcn En otros casos, puede crear componentes dentro de una función de devolución de llamada diferente. Por ejemplo, si desea mostrar un cuadro de diálogo cuando el usuario presiona un botón, llame a la función de cuadro de diálogo desde dentro de la función de devolución de llamada del botón.

Cuando se llama a una función para crear un componente, especifique la figura o uno de sus contenedores secundarios como el objeto primario. Por ejemplo, este comando crea un botón y especifica la figura como el objeto primario. En este caso, la figura tiene el nombre predeterminado que asigna el diseñador de aplicaciones ().app.UIFigure

b = uibutton(app.UIFigure);

A continuación, especifique la propiedad de devolución de llamada del componente como un identificador de función del formulario @app.callbackname. Por ejemplo, este comando establece la propiedad del botón en una función de devolución de llamada denominada.ButtonPushedFcnbmybuttonpress

b.ButtonPushedFcn = @app.mybuttonpress;

Escriba la devolución de llamada

Escriba la función de devolución de llamada para el componente como una función auxiliar privada. La función debe tener, y como los tres primeros argumentos.appsrcevent Este es un ejemplo de una devolución de llamada escrita como una función auxiliar privada.

methods (Access = private)
    
        function mybuttonpress(app,src,event)
            disp('Have a nice day!');
        end
        
end

Para escribir una devolución de llamada que acepte argumentos de entrada adicionales, especifique los argumentos adicionales después de los tres primeros. Por ejemplo, esta devolución de llamada acepta dos entradas adicionales y:xy

methods (Access = private)
    
        function addxy(app,src,event,x,y)
            disp(x + y);
        end
        
end

Para asignar esta devolución de llamada a un componente, especifique la propiedad de devolución de llamada del componente como matriz de celdas. El primer elemento de la matriz de celdas debe ser el identificador de función. Los elementos subsiguientes deben ser los valores de entrada adicionales. Por ejemplo:

b.ButtonPushedFcn = {@app.addxy,10,20};

Ejemplo: cuadro de diálogo de confirmación con una función Close

Esta aplicación muestra cómo mostrar un cuadro de diálogo de confirmación que ejecuta una devolución de llamada cuando se cierra el cuadro de diálogo.

Cuando el usuario hace clic en el botón cerrar de la ventana (), se muestra un cuadro de diálogo para confirmar que el usuario desea cerrar la aplicación.X Cuando el usuario descarta el cuadro de diálogo, se ejecuta la devolución de llamada.CloseFcn

Ejemplo: aplicación que rellena nodos de árbol basados en un archivo de datos

Esta aplicación muestra cómo agregar dinámicamente nodos de árbol en tiempo de ejecución. Los tres nodos hospitalarios existen en el árbol antes de que se ejecute la aplicación. Sin embargo, en tiempo de ejecución, la aplicación agrega varios nodos secundarios debajo de cada nombre de hospital. El contenido de la hoja de cálculo determina el número de nodos secundarios y las etiquetas de los nodos secundarios.patients.xls

Cuando el usuario hace clic en un nombre de paciente en el árbol, el panel muestra datos como la edad, el sexo y el estado de salud.Patient Information La aplicación almacena los cambios en los datos de una matriz de tablas.

Temas relacionados