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 :

Retourner un nombre


Sujet :

Interfaces Graphiques

  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut Retourner un nombre
    Bonjours à tous,

    Voila j'ai un interface utilisateur avec un menu déroulant ou l'utilisateur peut choisir une taille (petit, moyen, grand)

    J'aimerais savoir comment je peux récupérer un nombre dans ce menu déroulant à l'aide d'un switch , je voudrais associer le nombre 10 à petit, 20 à moyen et 30 à grand afin de pouvoir retourner ce nombre dans une autre fonction.

    Pouvez m'aider ?

    Merci

  2. #2
    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,

    Je suis pas sur de bien comprendre mais si tu récupères la valeur de ton popupmenu (en admettant que tu aies mis dans l'ordre petit, moyen et grand), il te suffit de la multiplier par 10 pour avoir 10, 20 ou 30.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    popup_val = 10*get(handles.my_popup, 'Value');
    Bonne journée,
    Duf

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Bonjours,

    Bien en faite , j'ai un truc comme ca pour l'instant

    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
     
    tail = get(handles.taille, 'Value');
     
     
     switch tail
     
        case 1
     
            tail =10;
            petit;
     
     
        case 2
     
            tail =20;
            moyen;
     
     
        case 3
     
            tail =30;
            grand;
     
          otherwise
      end
    mais je vois bien que ca ne marche pas car je n'arrive pas à récupérer la valeur dans 10,20 et 30 dans l'autre fonction

  4. #4
    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
    C'est normal, tu ne lui passes pas la variable...

    Il faudrait passer ta taille en entrée de ta fonction, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    case 1        
            tail =10;
            petit(tail);
    ...
    Sachant que dans ce cas-là, comme tu appelles une fonction par taille, quel est l'utilité de lui passer une constante en entrée? Pourquoi ne pas la définir dans la fonction?

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Bonjours,

    Bien en fait l'utilisateur doit pouvoir choisir la taille d'un point

    Donc dans mon autre fonction je veut faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    p=plot(x,y)
    set(p, 'MarkerSize',taille )
    pour récupérer la taille que l'utilisateur à choisi

    Merci

  6. #6
    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
    Je comprends bien mais je vois pas où est le problème? Si tu lui passes ta variable tail en argument d'entrée, tu peux tout à fait faire çà sans aucun problème...

  7. #7
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Re bonjour,

    Bah en fait moi non plus je ne vois pas le problème mais en fait quand je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set (p, 'MarkerSize', tail)
    Je n'arrive pas à retourner la valeur tail alors que dans la fonction d'affichage je n'ai pas oublié de mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tail = get(handles.taille, 'Value');

  8. #8
    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
    Quand tu dis que tu n'arrives pas à retourner la taille, c'est que MATLAB te mets une erreur ou que le comportement ne correspond pas à ce que tu souhaites?

  9. #9
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Bonjour,

    En faite , c'est que le comportement ne coreespond pas a ce que je souhaite, la taille de mon point ne change pas et reste petit meme quand l'utilisateur change le menu déroulant et met par exemple moyen

    Merci

  10. #10
    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
    As-tu essayer d'afficher la valeur de ta variable tail au niveau de la modification de la taille de ton point?

    Sinon, il faudrait un peu plus de code pour pouvoir t'aider (l'intégralité de la fonction de modification de la taille...)

  11. #11
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Bah je vois pas trop ce que vous voulez dire en faite
    Voici la fonction dans laquelle je veut que tail apparaisse

    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
    coul = get(handles.couleur, 'Value');
    tail = get(handles.taille, 'Value');
    nbp=get(handles.nombre,'Value');
     
     
    switch coul
     
        case 1
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
             end
     
            p=plot(x,y,'b.');
            set(p,'MarkerSize',tail);
            bleu;
            axis([0 1 0 1]);
     
        case 2
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
             end
            p = plot(x,y,'c.');
            set(p,'MarkerSize',tail);
            cyan;
            axis([0 1 0 1]);
     
        case 3
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
            end
     
             p=plot(x,y,'y.');
             set(p,'MarkerSize',tail);
            jaune;
            axis([0 1 0 1]);
     
        case 4
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
            end
     
            p=plot(x,y,'m.');
            set(p,'MarkerSize',tail);
           mangenta;
           axis([0 1 0 1]);
     
        case 5
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
            end
     
           p=plot(x,y,'k.');
           set(p,'MarkerSize',tail);
          noir;
          axis([0 1 0 1]);
     
        case 6
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
            end
     
          p=plot(x,y,'r.');
          set(p,'MarkerSize',tail);
          rouge;
          axis([0 1 0 1]);
     
        case 7
            for i=1:nbp
            for j=1:nbp
            x(i)=rand(1,1);
            y(j)=rand(1,1);
            end
            end
     
           p=plot(x,y,'g.');
           set(p,'MarkerSize',tail);
           vert;
           axis([0 1 0 1]);
     
        otherwise
    end
    elle meme est liée à un menu déroulant mais la pour choisir les couleurs en faite donc j'aimerais que l'utilisateur choisi la taille et quand celui choisi la couleur que les point s'affaiche avec la couleur et la taille désirer sachant que nb et le nombre de point que l'utilisateur veut

    Merci

  12. #12
    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
    Ben comme ca je dirais que pour la taille des points ca devrait fonctionner mais je suis pas sur que tu puisses voir la différence entre des tailles de 1,2 ou 3.
    Par contre, bleu, jaune, etc correspondent à des fonctions que tu as créés? Sinon ca devrait te mettre une erreur...

    Essaye voir quelquechose comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    case 3
            x=rand(1,nbp);
            y=rand(1,nbp);
     
             p=plot(x,y,'y.');
             set(p,'MarkerSize',10*tail);
     
            axis([0 1 0 1]);
    ...

  13. #13
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Bonjours,


    Oui ca marche , mais je comprend pas pourquoi il fallais rajouter 10*

    Pouvez vous m'expliquer ??

    Merci

  14. #14
    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
    A mon humble avis, dans ton code précédent, tu modifiais bien la taille de tes points seulement cette variation de taille n'était pas perceptible, en rajoutant '*10', tu amplifies le phénomène qui devient plus visible (tu peux ajuster en utilisant un autre "facteur d'amplification" que 10...)

  15. #15
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 31
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse



Discussions similaires

  1. Retourner le nombre de lignes d'un fichier txt
    Par El-Diablo- dans le forum C++Builder
    Réponses: 1
    Dernier message: 14/02/2008, 16h25
  2. retourner un nombre décimal
    Par S4N44 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/12/2007, 10h37
  3. [NAGIOS] Retourner le nombre d'user par webservices
    Par chtom dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 21/11/2007, 12h51
  4. Retourner le nombre de ligne dans un hash
    Par raphy75 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2007, 21h17
  5. Réponses: 3
    Dernier message: 04/10/2005, 15h13

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