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 :

Problème d'interaction entre Popup et Edit text [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingenieur
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingenieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Problème d'interaction entre Popup et Edit text
    Bonjour,
    Je travaille sur une interface graphique (à la main), et une partie de celle-ci met en lien un edit text un un popupmenu avec pusieurs cas. Les fonctions associees au popup me servent à envoyer different type d'excitation (output) pour une experience. Cependant j'ai remarque un defaut dans mon interface. Pour vous expliquer plus facilement je mets un code tres simplifie d'une partie de mon interface.

    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
     
    function test
    nombres = 5;
    %%
    % Create Figure
    fig(1) = figure (        'units','pixels',...
                                'position',[200 200 800 400]);
    %% 
    %Create Poppup
    hPopup(1) = uicontrol ('style', 'popupmenu',...
                                   'string','cas1|cas2',...
                                   'position',[120 300 60 30],...
                                   'Callback',@choixF);                       
     
     
                       function choixF(hObject, eventData)
                        NB = str2double(get(hedit(1),'String'));   
                        val = get(hObject, 'value');
     
                        switch val
                            case 1
                               nombres = NB;
                            case 2
                               nombres = NB + 3;
                        end
                       end
    %%
    % Create Edit Text
    hedit(1)= uicontrol ( 'style', 'edit',...
                                'units','pixels',...
                                'string','0',...
                                'position',[120 110 450 50],...
                                'callback',@chnb);   
     
     
     
        % Fonction callback de l'édit
        function chnb(hObject,eventData)
        input = str2double(get(hObject,'String'));
        end
     
    %%
    % Create Button Start
    hbutton(1) = uicontrol ('style','pushbutton',...
                                    'units','pixels',...
                                    'position',[120 350 60 30],...
                                    'string','START',...
                                    'callback',@startapp);
     
     
        % Fonction callback du bouton start
        function startapp(object,event)
        hText(1) = uicontrol('style', 'text',...
                                    'units','pixels',...
                                    'string',num2str(nombres),...
                                    'position',[120 200 200 25]);
        end
     end
    Lorsque je change la valeur de "nombres" dans l'edit text (hedit(1)) et que ensuite je selectionne un des des cas du popup (hpopup(1)), l'appui sur mon bouton start me donne bien la bonne valeur le static text (htext(1)). Cependant lorsque je selectionne d'abord le cas dans le popup et qu'ensuite je modifie l'edit text, l'appui sur mon bouton start ne me donne pas la bonne valeur. Cela me pose probleme car car il faut a chaque fois reselectionner un cas dans le popup pour avoir la valeur (modifiee par les fonctions du popup) en lien avec avec celle de l'edit text.

    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    C'est dû au fait que tu ne mets à jour ta variable nombre que dans la fonction choixF. Il faudrait aussi la modifier dans chnb.
    Étant donné que la valeur dépend du popup et de l'edit, et qu'elle doit être mise à jour dès que l'un ou l'autre est modifié, je te conseille de réunir tes deux fonctions callback en une seule :

    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
    %Create Poppup
    hPopup(1) = uicontrol('style', 'popupmenu',...
        'string','cas1|cas2',...
        'position',[120 300 60 30],...
        'Callback',@maFonction);
    
    % Create Edit Text
    hedit(1)= uicontrol('style', 'edit',...
        'units','pixels',...
        'string','0',...
        'position',[120 110 450 50],...
        'callback',@maFonction);
    
    
        function maFonction(hObject, eventData)
            NB = str2double(get(hedit(1),'String'));
            val = get(hPopup(1), 'value');
            
            switch val
                case 1
                    nombres = NB;
                case 2
                    nombres = NB + 3;
            end
        end

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingenieur
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingenieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup.
    problème résolu

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

Discussions similaires

  1. Problème d'interaction entre l'interface graphique et le programme
    Par bleachvostfr dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 23/03/2015, 19h54
  2. Problème d'interaction entre un userform et un logiciel externe
    Par lavoyech dans le forum Windows Forms
    Réponses: 0
    Dernier message: 20/04/2012, 11h04
  3. [AJAX] Transmissions de champs form entre popup et page apelante
    Par mickado dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/02/2008, 20h49
  4. Réponses: 1
    Dernier message: 10/10/2007, 17h08
  5. Problème Interaction entre FORM
    Par Luffy49 dans le forum Windows Forms
    Réponses: 27
    Dernier message: 04/07/2007, 22h13

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