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 :

Lier deux interfaces graphiques


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Lier deux interfaces graphiques
    Bonjour, comment lier deux interfaces graphiques sur matlab?
    Au faite J'ai un interface principale et un interface où j'ai des données à entrer. J'aimerai à l'aide d'un pushbouton ouvrir l'interface pour entrer les données puis validée et récupérer les données sur l'interface principale du départ et effectuer le calcul.



    Merci beaucoup.

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 286
    Points : 105
    Points
    105
    Par défaut
    Bonjour, à mon avis il est recommandé que tes données soient en variables globales et non pas locales.
    Ensuite pour introduire des valeurs, tu peux utiliser directement cette ligne a l'intérieur de la fonction pushbotton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    answer = inputdlg(prompt, dlg_title, num_lines, def,options);

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour , Merci!
    Mais c'est encore un peut vague pour moi désoler!
    Je dois utiliser "global var" à quel niveau.
    Merci bien .

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Dans le callback du pushbutton qui te servira à ouvrir ta deuxième interface, il faut que tu fasses appel à la fonction qui régit cette 2ème interface. par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function myPushbutton(hObject,handles,eventdata);
    mySecondGUI(handles,cequejeveux);
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Monsieur Gooby, cela permet juste d'ouvrir le deuxième interface!! Maintenant comment récupérer les données que l'on entre sur ce deuxième interface ouvert.
    Car le but c'est de pouvoir utiliser les variables du deuxième interface dans le premier!

    Merci!

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Les fonctions setappdata et getappdata sont pas mal pour ça. Dans le cas d'un trop grand nombre de variables, j'ai pris l'habitude personnellement de les sauver dans un fichier .mat avec la fonction save. Il ne te reste alors plus qu'à charger ton .mat avec la fonction load dans le code de ta deuxième interface.

    Un exemple simple :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    function Exemple()
     
    % GUI1 %
    fig1 = figure('units','pixels',...
        'position',[500 500 200 200],...
        'menubar','none',...
        'name','fig1',...
        'numbertitle','off',...
        'Resize','off',...
        'color',[0.941 0.941 0.941]);
     
    % EditBox dans GUI1 %
    uicontrol(fig1,...
        'style','edit',...
        'units','normalized',...
        'position',[0.350 0.600 0.35 0.185],...
        'string','',...
        'tag','edit1',...
        'backgroundcolor',[1 1 1]);
     
    % Pushbutton dans GUI1 %
    uicontrol(fig1,...
        'style','pushbutton',...
        'units','normalized',...
        'position',[0.150 0.100 0.700 0.300],...
        'string','Sauvegarde Variable',...
        'tag','push1',...
        'callback',@Save,...
        'backgroundcolor',get(fig1,'color'));
     
     
    % GUI2 %
    fig2 = figure('units','pixels',...
        'position',[300 300 200 200],...
        'menubar','none',...
        'name','fig2',...
        'numbertitle','off',...
        'Resize','off',...
        'color',[0.941 0.941 0.941]);
     
    % EditBox dans GUI2 %
    uicontrol(fig2,...
        'style','edit',...
        'units','normalized',...
        'position',[0.350 0.600 0.35 0.185],...
        'string','',...
        'tag','edit2',...
        'backgroundcolor',[1 1 1]);
     
    % Pushbutton dans GUI2 %
    uicontrol(fig2,...
        'style','pushbutton',...
        'units','normalized',...
        'position',[0.150 0.100 0.700 0.300],...
        'string','Chargement Variable',...
        'tag','push2',...
        'callback',@Load,...
        'backgroundcolor',get(fig2,'color'));
     
     
    % Stockage handles de fig1 %
    handles1 = guihandles(fig1);
    guidata(fig1,handles1);
     
    % Stockage handles de fig2 %
    handles2 = guihandles(fig2);
    guidata(fig2,handles2);
     
    end
     
     
    function Save(obj,event)
     
    % On definit fig1 comme l objet parent %
    fig1 = get(obj,'parent');
     
    % Recuperation des handles de fig1 %
    handles1 = guidata(fig1);
     
    % Recuperation VarTest dans son EditBox %
    VarTest = get(handles1.edit1,'string');
     
    % Sauvegarde VarTest %
    setappdata(0,'VarTest',VarTest);
     
    end
     
     
    function Load(obj,event)
     
    % On definit fig2 comme l objet parent %
    fig2 = get(obj,'parent');
     
    % Recuperation des handles de fig2 %
    handles2 = guidata(fig2);
     
    % Recuperation VarTest %
    VarTest = getappdata(0,'VarTest');
     
    % Impression VarTest dans son EditBox %
    set(handles2.edit2,'string',VarTest);
     
    end

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour ,
    Merci bien Adjen,
    C'est intelligent votre manière de faire. Mais le fait est que moi j'ai directement utiliser l'exemple d'interface que propose Matlab. J'ai fait qu'entré quelques codes pour avoir mon interface!!! j'ai pas écrit le code en entier comme dans ta solution.
    Dans mon cas c'est toujours la même procédure?

    Salutations.

    Merci .

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    C'est le même principe oui. Il faut juste veiller à enregistrer tes variables avec setappdata et à les récupérer avec getappdata au bon endroit dans ton code.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Mais les deux interfaces s'ouvre en même temps alors que je voudrais démarrer l'un à partir de l'autre. Et je veux juste récupérer tout les données que je vais entrer pour les calculs dans l'interface principale qui servira d'afficher les résultats!

    Pourriez-vous par exemple me faire un petit interface (avec le modèle GUI proposé par Matlab ''S'il vous plait''), dans lequel on a entre 3 variables qu'on enregistre sous forme de fichier .mat?

    Merci bien.

  10. #10
    Membre régulier
    Inscrit en
    Décembre 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    Ci joint un exemple réalisé avec le guide de matlab qui répond à ton besoin. GUI1 est l'interface principale, c'est son .m qu'il faut lancer.

    Exemple.zip

Discussions similaires

  1. [Débutant] connexion entre deux interface graphique
    Par casuals dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/05/2012, 15h24
  2. Relier les champs de deux tables dans une interface graphique
    Par laurentlorient dans le forum Débuter
    Réponses: 1
    Dernier message: 26/04/2009, 22h34
  3. Héritage entre deux interfaces graphique
    Par Marie.B dans le forum Débuter
    Réponses: 0
    Dernier message: 10/04/2009, 09h22
  4. Deux ptt problemes avec les interface graphiques
    Par hidalg007 dans le forum NetBeans
    Réponses: 2
    Dernier message: 23/02/2009, 04h15
  5. Lier une interface graphique à un analyseur
    Par dreanlin dans le forum Prolog
    Réponses: 11
    Dernier message: 01/03/2008, 12h06

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