Swedish flagChinese (Simplified) flagEnglish flagGerman flagFrench flagSpanish flagHindi flag
Junio
28
2009
2

Matlab GUI con guihandles

He trabajado con un programa de ordenador en Matlab. La idea detrás de esto es que debe ser fácil de usar y eficiente de hacer los cálculos comunes para algunos tipos de instalaciones. En este programa que he usado un montón de widgets que uipanel, uitree y uicontrol.

Muchos escritores de tutoriales para Matlab GUI recomienda el uso integrado de Matlab la función (o quizás debería llamar a una caja de herramientas (?)) Llamado Guía. Tipo:

Guía >>

En la ventana de comandos y se abre una ventana donde se puede localizar y configurar los componentes de una figura. Esto tiene ventajas para una sola velocidad aplicaciones. Sin embargo, el gran problema si desea escribir software legítimo. Esto se debe a que es difícil seguir la pista de los objetos gráficos. Se incluyen en la figura exportado terminando en las figuras

Coloque los componentes del mismo

He escrito mi programa sin utilizar la guía. Es fácil crear e implementar los componentes. Como se puede ver a continuación, requiere un poco de orden un montón de codificación. Imagínese cómo los códigos de fornidos para juegos como el póquer y otras aplicaciones donde hay una diversidad de actividades. De todos modos, volver a escribir programas sin utilizar la guía. Esto se realiza mediante el establecimiento de la ventana maneja que se cree en la figura y la posición de la ventana. Por supuesto, otros parámetros tales como el color o devolución de llamada configurado, al igual que el interior de la guía. He escrito mis programas como objetos de Matlab y se utiliza la estrategia de externalizar los componentes del constructor llamando a una función de entrega, cuyo nombre tentativo de inicio gui. Puedo guardar mi objeto internamente en la clase en una estructura que tiene el asimiento de las palancas de los componentes. Esta estructura se inicio cuando pongo los componentes.

  aClassName classdef <mango
    Propiedades
       handleToGui;
    final
    Métodos
       obj = function aClassName (varargin)
          ...
          obj.initGui ();
          ...
       final
       ...
       Función de la figura = initGui (Obj)
          = Obj.handleToGui.fig figura (...);
          Obj.handleToGui.otherComponentName = ...
          ...
       final
    final
 % Classdef final 

Matlab guihandles función

Matlab tiene una función llamada guihandles. Es bastante fácil de muchas maneras y voy a explicar por qué. La razón es que usted no tiene que preocuparse por la adición de sus componentes directamente en una estructura cuando se los pone porque guihandles (padre), ofrece una estructura de asas para todos los niños (hijos) que están en la figura. Al llamar a esto, usted puede iniciar handleToGui después de que todos los componentes establecidos. Esto se convierte entonces en una estructura con el campo ames dado el nombre de etiqueta (tag) los componentes se han dado.

Problemas con los guihandles función de MATLAB

Sin embargo, hay un riesgo con esta que creo que Matlab no ha pensado. Por otra parte, es para que yo y otros hemos utilizado el muy sin cuidado. El hecho es que los controladores de interfaz gráfica de usuario proporcionan asas para todos los widgets en la figura. Si usted tiene diferentes clases de diferentes partes de su aplicación, como una clase separada que se ocupa de un tipo particular de plottyta en una parte del programa y otra clase que realiza una tarea similar en otro lugar al que puede destruir uno al otro, si ambos están utilizando guihandles. Guihandles en un subcomponente permite las asas para el personaje principal (incluidos los sub-componentes que están en él). Si el segundo subcomponente tiene el mismo nombre de etiqueta de un componente, que se confunde cuando se invoca el componente de lo que cree que es el componente.

No utilice los guihandles función de MATLAB

Programación orientada a objetos para mí es un método de programación para crear una buena estructura. Esto es al permitir que cada objeto (clase) para cumplir con sus tareas internamente y sólo se comunican a través de interfaces específicas con el medio ambiente. Guihandles variables globales exponen a un riesgo potencialmente mortal. El concepto de que el mundo busca en otras palabras, para el acoplamiento de baja, alta cohesión y módulos bien definidos.

El tema es una modificación de Aeros 2,0 - Blogglista.se - La traducción es realizada por N2H