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 plusieurs interfaces [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ecole d'ingénieur formation Maîtrise des Energies
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ecole d'ingénieur formation Maîtrise des Energies

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Points : 32
    Points
    32
    Par défaut Passage de variables entre plusieurs interfaces
    Bonjour,

    Tout d'abord je vais essayer de vous présenter au mieux mon projet et j'expliquerai mon problème par la suite.

    J'ai crée 3 interfaces Matlab :

    1) La première contient un PopUpMenu et un PushButton. On vient sélectionner la valeur souhaitée dans le PoPUpMenu et on appuie sur le PushButton pour passer à la seconde interface.
    Une fois que le PushButton est enclenché, je ferme la première interface et j'ouvre la seconde.

    2) La seconde interface comprend un StaticText, un PopUpMenu et 2 PushButton. Le StaticText prend la valeur sélectionnée dans le PopUpMenu de la première interface. En fonction de ce que que contient le StaticText, le PopUpMenu de la seconde interface est crée (je vous passe l'affichage de différentes images, cela n'est pas un problème). Si je veux revenir dans l'interface précédente j'appuie sur un PushButton 'BACK' et si je veux passer à la troisième interface j'appuie sur le PushButton 'CONTINUE'.

    3) La troisième interface contient un StaticText qui prend la valeur de ce qu'il y a dans le PopUpMenu de la seconde interface, ainsi qu'un PushButton 'BACK' pour revenir à l'interface précédente.

    J’espère avoir était assez claire

    Pour passer la variable du PopUpMenu de l'interface 1, au StaticText de l'interface 2, je n'ai pas de problèmes j'utilise les lignes de code suivantes :

    Dans le code de l'interface 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function popupmenu1_Callback(hObject, eventdata, handles)
     
    contents = get(hObject,'string')
    VARIABLE = contents{get(hObject,'Value')}
    setappdata(handles.popupmenu1,'string',VARIABLE); % mise en mémoire de ce qu'il y a dans la liste déroulante
     
     
    function pushbutton2_Callback(hObject, eventdata, handles)
     
    VARIABLE = getappdata(handles.popupmenu1,'string'); % la variable 'VARIABLE' prend la valeur de ce qu'il y a dans la liste déroulante
    close % fermeture de l'interface active
    INTERFACE2(VARIABLE) % ouverture de l'interface 'INTERFACE2'
    Dans le code de l'interface 2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    function INTERFACE2_OpeningFcn(hObject, eventdata, handles, varargin)
     
    % Choose default command line output for INTERFACE2
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
    VARIABLE = varargin{1}; % amener la variable 'VARIABLE' du GUI 'INTERFACE1'
    set(handles.text1,'string',VARIABLE); % écrire le contenu de la variable 'VARIABLE' dans le static text
    Jusque là, pas de problème, je fais la même chose pour transférer le contenu du PopUpMenu de l'interface 2 dans le StaticText de l'interface 3.

    Le problème intervient lorsque je suis dans l'interface 3 et je que je souhaite revenir dans l'interface 2 (avec le PushButton 'Back'), le message d'erreur suivant apparaît :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Index exceeds matrix dimensions.
     
    Error in INTERFACE2>INTERFACE2_OpeningFcn (line 61)
    VARIABLE = varargin{1}; % amener la variable 'VARIABLE' du GUI 'INTERFACE1'
    J'imagine que cela est du au fait que en ré-ouvrant l'interface 2 à partir de l'interface 3 je n'amène aucune variable, mais comment résoudre ce problème ?

    Merci bien !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ecole d'ingénieur formation Maîtrise des Energies
    Inscrit en
    Juillet 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ecole d'ingénieur formation Maîtrise des Energies

    Informations forums :
    Inscription : Juillet 2018
    Messages : 28
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Merci d'avoir lu ce post, j'ai "contourné" le problème en renvoyant une variable quand je passe de l'interface 3 à l'interface 2.

    Merci quand même.

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

Discussions similaires

  1. Passage de variables entre deux interface
    Par sorrow08 dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 25/05/2011, 13h41
  2. [XL-2003] passage de variables entre plusieurs macros
    Par kidone dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2010, 17h17
  3. Réponses: 0
    Dernier message: 07/05/2008, 11h34
  4. Réponses: 5
    Dernier message: 23/10/2007, 14h26
  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