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 :

entrer une variable dans l'interface pour le programme


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Par défaut entrer une variable dans l'interface pour le programme
    Bonjour,
    je voudrais pouvoir sur mon interface entrer une valeur d'une variable et qu'elle soit prise en compte dans mon programme car j'utilise cette variable pour trouver un autre résultat. Je n'arrive pas non plus à savoir quoi choisir pour entrer du texte et la valeur de cette variable.

    Merci pour votre aide.

  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
    Quelle est la question ?
    As-tu lu les tutoriels sur les GUI pour voir quels objets tu pouvais utiliser :
    Les tutoriels en français sur les Interfaces Graphiques

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Par défaut
    en fait dans mon interface j'ouvre une premiere image et je l'affiche. Ensuite j'appuie sur un bouton qui traite mon image et l'affiche.
    Dans mon traitement je récupere la valeur du centroid je fais pareil pour une autre image puis je compare ces deux centroid avec une variable : distance
    Quand j'entre 'distance' sur matlab il me retourne cette valeur mais je southerais l'afficher sur l'interface.

    Ensuite avec cette variable 'distance' je peux calculer la vitesse :
    speed = distance/ time
    Et je souhaite pouvoir entrer la valeur de la variable 'time' à partir de mon interface.

    J'espere que c'est plus clair.

  4. #4
    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
    Afficher la valeur distance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t=uicontrol(gcf,...
    'style','text',...
    'string',distance);
    Pour plus d'infos voir les propriétés des objets UICONTROL, voir aussi l'aide de GCF.

    Créer un objet edit pour rentrer une valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t2=uicontrol(gcf,'style','edit');

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Par défaut
    Je suis désolé mais je ne comprends où je doit rentrer ce code, si c'est dans la fonction imbriquée ou créer un handles ????

  6. #6
    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
    Je ne peux pas savoir non plus : je ne connais pas la structure de ton code.
    J'ai juste répondu aux questions.

    Pour l'affichage de distance je suppose qu'il faudrait que tu le mettes après avoir calculer distance

  7. #7
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Il te suffit de mettre ce code dans la fonction qui gère ton interface (celle ou tu crées ton interface).

    Bon courage,
    Duf

  8. #8
    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 caro95470 Voir le message
    As-tu lu les tutoriels sur les GUI pour voir quels objets tu pouvais utiliser :
    Les tutoriels en français sur les Interfaces Graphiques
    Je crois que tu devrais commencer par écouter le conseil de Caro
    Commence par développer une interface plus simple plutôt que de directement t'attaquer à ton vrai problème.

    Parce que cette discussion ne mène à rien, faute d'explications claires de ta part et de réponses précises de la nôtre

  9. #9
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Par défaut
    Si je déclare mes variables au départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function gui_nested_func
    t=0;
    centroid_1=0;
    centroid_2=0;
    Après je déclare tous mes handles.
    Puis j'entre dans la premiere fonction qui me récupère et m'affiche centroid_1
    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
     
    axes (handles(7));
            imshow(I, 'InitialMagnification', 'fit')
            hold on
            for k = 1:numel(s2)
                centroid_1 = s2(k).Centroid; 
            end
     
            hold off
          t=s(1);
         a=uicontrol(gcf,...
        'style','text',...
        'position', [560 490 100 20],...
        'string',num2str(centroid_1));
        end
    Puis pareil pour la deuxieme fonction où je récupère la valeur de centroid_2

    Et enfin avec la fonction 'speed' je voudrais aficher la valeur de 'distance' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      function speed %(obg,event)
     
            resI = 1;  % Resolution suivant les lignes
            resJ = 1;  % Resolution suivant les colonnes
     
          distance = norm((t.Centroid_1-t.Centroid_2).*[resI resJ]); 
          a=uicontrol(gcf,...
        'style','text',...
        'position', [560 390 100 300],...
        'string',num2str(distance));
     
        end;
    Mais ca m'affiche l'erreur suivante et ne me retourne pas la valeur de 'distance' :
    ??? Error using ==> essai2>speed
    Too many input arguments.

    ??? Error while evaluating uicontrol Callback

  10. #10
    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
    Enlève le % là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function speed %(obg,event)
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function speed(varagin)
    varargin c'est pour ne pas se compliquer la vie vu que tu n'utilises de toute façon pas les entrées par défaut de speed.

  11. #11
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Par défaut
    Je viens d'essayer et rien ne s'affiche sur l'interface et matlab me renvoie la meme erreur et lorsque je tape 'distance' dans matlab il me dit variable indéfinie

  12. #12
    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
    Pardon, erreur de typo (mais tu aurais pu aussi trouver par toi-même) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function speed(varargin)

  13. #13
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Par défaut
    C'est vrai j'aurais pu le voir désolé!

    Matlab me retourne ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ??? Reference to non-existent field 'Centroid_1'.
     
    Error in ==> essai2>speed at 185
          distance = norm((t.Centroid_1-t.Centroid_2).*[resI
          resJ]);
     
    ??? Error while evaluating uicontrol Callback
    Alors que j'ai declaré centroid_1 et centroid_2 en variables globales

Discussions similaires

  1. [Débutant] Insérer une variable dans l'interface
    Par Ma29200 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 15/02/2012, 13h08
  2. Problème avec le paramètrage d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2011, 13h07
  3. [MySQL] Problème avec la récupération d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/06/2011, 13h58
  4. Entrer une variable dans une commande déja lancée
    Par Druks8 dans le forum Débuter
    Réponses: 6
    Dernier message: 18/02/2009, 12h55
  5. Réponses: 5
    Dernier message: 17/06/2006, 21h13

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