IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Passage de variables entre 2 GUI [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 19
    Par défaut Passage de variables entre 2 GUI
    Bonjour a tous,

    J'aurais voulu savoir si il est possible de passé 2 matrices d'une GUI a un autre.
    Actuellement j'arrive a passé plus ou moin l'une et l'autre pas du tout.

    La premier matrice est a 3 dimensions.C'est une matrice qui reprend Z images composé de Y points en hauteur et de X points en largeur (Z x Y x X) par exemple : 44x37x72
    celle ci arrive dans ma seconde GUI en avec les valeurs suivantes 44x7

    la j avoue je suis paumé.pourquoi ? comment?

    Elle ce nome :ImList

    La second matrice quand elle elle ne veux pas du tout passé. Cette matrice est une liste de 3 colonnes reprenant coordonné X Y d'un point et un chiffre représentant une distance.


    Partie du code de la premier GUI appelant la seconde (IntUIAfter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    % --- Executes on button press in pushbutton2.   OK
    function pushbutton2_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
     
     
    handles.pathImTemp=[handles.pathImTemp,handles.nameTemp];
    handles.firstTemp=str2num(handles.firstTemp);
    handles.lastTemp=str2num(handles.lastTemp);
     
    [ImList,CenterList=def(handles.firstTemp,handles.lastTemp,handles.pathImTemp,handles.extenTemp);
     
    IntUIAfter(ImList,CenterList);
    Code de la 2 seconde GUI ou je test les données reçues (et que je constate tristement que ca foire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    function IntUIAfter_OpeningFcn(hObject, eventdata, handles, varargin,ImList,CenterList)
    % 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 IntUIAfter (see VARARGIN)
     
    % Choose default command line output for IntUIAfter
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
    handles.ImList=ImList
     
    handles.CenterList=CenterList
     
    guidata(hObject, handles);
    Si quelqu'un pouvais m'aider a passé ces 2 variables ...

    Merci d'avance

    ps: ca fait moin de 20 heures que j'ai ouvert GUIDE pour la premier fois =D

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Normalement VARARGIN doit être en dernier argument.
    Tu devrais d'ailleurs l'utiliser.

    Modifications à apporter au 2ème code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function IntUIAfter_OpeningFcn(hObject, eventdata, handles)
    % 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 IntUIAfter (see VARARGIN)
     
    % Choose default command line output for IntUIAfter
    handles.output = hObject;
     
    handles.ImList=varargin{1};
     
    handles.CenterList=varargin{2};
     
    % Update handles structure
    guidata(hObject, handles);
    Je suppose que tu avais aussi mis ImList et CenterList en arguement de la fonction principale IntUIAfter, il faut les enlever.

    Dans ton 1er code tu n'as pas du faire un vrai copier/coller, il manque un crochet fermant sur l'avant-dernière ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ImList,CenterList]=def(handles.firstTemp,handles.lastTemp,handles.pathImTemp,handles.extenTemp);
    Par contre pour ton tableau qui change de dimension je crains que le problème ne vienne d'ailleurs, MATLAB "mange" rarement les tableaux entre 2 GUI

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 19
    Par défaut
    Par contre pour ton tableau qui change de dimension je crains que le problème ne vienne d'ailleurs, MATLAB "mange" rarement les tableaux entre 2 GUI
    héhé et moi qui trouvais Matlab vorace
    Je test tout ça demain, Merci pour la rapidité de la réponse

  4. #4
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 19
    Par défaut
    Un grand Merci je viens de testé et tout fonctionne Nickel

  5. #5
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 19
    Par défaut
    Simple question a ce sujet :

    Combien de variables peuvent transiter par varargin ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par Nideis Voir le message
    Combien de variables peuvent transiter par varargin ?
    Il n'y a théoriquement pas de limite (à ma connaissance)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage des variables entre 2 GUI
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 18/03/2009, 21h57
  2. Passage de variables entre GUI
    Par Phelix2003 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 21/08/2007, 13h23
  3. Réponses: 2
    Dernier message: 15/12/2005, 08h43
  4. [C#] Passage de variables entre 2 forms
    Par Tips dans le forum C#
    Réponses: 6
    Dernier message: 06/12/2005, 16h48
  5. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo