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

Matlab interface graphique avec guihandles

J'ai travaillé avec un programme informatique dans Matlab. L'idée derrière cela est qu'il doit être convivial et efficace pour faire des calculs communs pour certains types d'installations. Dans ce programme, j'ai utilisé un lot de widgets que uipanel, uitree et uicontrol.

Beaucoup d'écrivains de tutoriels pour Matlab interface graphique vous recommandons d'utiliser Matlab fonction intégrée (ou peut-être je devrais appeler cela une boîte à outils (?)) Intitulé Guide. Type:

Guide >>

Dans la fenêtre de commande et il ouvre une fenêtre où vous pouvez localiser et configurer les composants d'une figure. Cela présente des avantages pour des applications à une seule vitesse. Cependant, le gros problème si vous voulez écrire un logiciel légitime. C'est parce qu'il est difficile de garder une trace de vos objets graphiques. Ils sont inclus dans le chiffre exporté se terminant en chiffres

Placez vos composants vous

J'ai écrit mon programme sans utiliser le guide. Il est facile de créer et de déployer des composants. Comme vous pouvez le voir ci-dessous, exige une commande peu beaucoup de codage. Imaginez comment les codes costauds pour des jeux comme poker et d'autres applications où il ya une diversité d'activités. Quoi qu'il en soit, revenir à l'écriture de programmes sans utiliser le guide. Cela se fait en réglant la poignées de fenêtre à créer dans la figure et la position de la fenêtre. Bien sûr, d'autres paramètres tels que la couleur ou de rappel configuré, tout comme l'intérieur du guide. J'ai écrit mes programmes comme des objets Matlab et a utilisé la stratégie de sous-traiter des composants du constructeur en appelant une fonction de livraison, provisoirement nommé initialisation gui. Je enregistrer mon objet en interne dans la classe dans une structure qui a la main sur les leviers pour les composants. Cette structure-je lancer lorsque je pose les composants.

  aClassName classdef <poignée
    Propriétés
       handleToGui;
    fin
    Méthodes
       obj = function aClassName (varargin)
          ...
          obj.initGui ();
          ...
       fin
       ...
       Figure fonction = initGui (Obj)
          = Chiffre Obj.handleToGui.fig (...);
          Obj.handleToGui.otherComponentName = ...
          ...
       fin
    fin
 Classdef fin% 

Guihandles fonction MATLAB

Matlab possède une fonction appelée guihandles. Il est assez facile à bien des égards, et je vais vous expliquer pourquoi. La raison en est que vous n'avez pas à vous soucier de l'ajout de vos composants directement dans une structure quand vous les mettez en raison guihandles (parent), fournit une structure de poignées pour tous les enfants (les enfants) qui sont dans la figure. En appelant pour cela, vous pouvez lancer handleToGui après que tous les composants disposés. Cela devient alors une structure avec un champ ames donné le nom de balise (Tag) des composants ont été donnés.

Problèmes avec les guihandles fonction MATLAB

Cependant, il ya un risque avec ce que je pense que Matlab a pas pensé. Sinon, c'est pour que moi et d'autres ont utilisé la trop négligemment. Le fait est que les poignées gui fournissent les poignées pour tous les widgets dans la figure. Si vous avez des classes différentes pour les différentes parties de votre application, tels que une classe séparée qui gère un type particulier de plottyta dans une partie du programme et une autre classe qui effectue une tâche similaire dans un autre endroit où ils peuvent se détruire mutuellement si les deux sont à l'aide guihandles. Guihandles dans un sous-permet les poignées pour le personnage principal (y compris d'autres sous-composantes qui sont en elle). Si le second a le sous-nom de la balise même de tout composant, ils seront confus lorsque le composant invoque ce qu'elle croit être le composant.

Ne pas utiliser les guihandles fonction MATLAB

Object-Oriented Programming pour moi, c'est une méthode de programmation pour la création d'une bonne structure. C'est en permettant à chaque objet (classe) de s'acquitter de ses tâches à l'intérieur et ne communiquent grâce à des interfaces spécifiques avec l'environnement. Mondiales guihandles des variables fournit un risque potentiellement mortel. Le concept du monde cherche en d'autres termes, pour un couplage faible, une forte cohésion et le bien-modules définis.

Rédigé par David Gustafsson, dans: Programmation | Tags: , , ,

Le thème est modifié à partir Aeros 2.0 - Blogglista.se - La traduction est faite par N2H