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 :

GUI Fonction CallBack [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut GUI Fonction CallBack
    Bonjour,

    Alors je fait face a un probleme qui sera vite resolu je pense, et je l'espere .

    J'aimerais effectuer ce code suivant lorsque j'appuie sur un bouton dans mon interface graphique :

    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
    fwrite(SerPIC,4+8+16,'int8');
    fread(SerPIC,1)
    vals=zeros(300,1);
    m=1;
    pause(1)
     for k=1:100
     
        for i=[4 8 16]
            fwrite(SerPIC,i,'int8');
             vals(m)=fread(SerPIC,1);
             disp(vals(m))
             m=m+1;
            pause(.1)
     
        end
     
    end
    Seulement je travaille avec le guide, et je ne peux pas ecrire ce code dans la fonction callback a partir du guide directement, ca ne fonctionne pas, j'ai essaye :
    Nom : GUI.jpg
Affichages : 579
Taille : 334,9 Ko

    comment puis je faire ? J'espere avoir ete assez claire !


    PS : Etant actuellement sur clavier QWERTY, les accents se font rare .

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Salut,

    Très simple effectivement, clic droit sur ton bouton ensuite View Callbacks et Callback et là, ça va te créer une ligne de code et tu mettras l'action souhaitée à l'intérieur


    Benjinight.

  3. #3
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Bonjour,

    Le code que tu as écris, il faut que tu l'écrives dans une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function NOM_DE_MA_FONCTION(varargin)
     
        %...
     
    end
    Puis, dans la ligne callback, tu écris juste :

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    j'ai essayer la premiere solution ca na strictement rien donne.... J'ai copie mon code, fait ce que tu as demandes et j'ai ensuite colle. Et il ne se passe strictement rien lorsque j'appuie sur le bouton .

    Je vais maintenant essayer la deuxieme reponse.

    Merci .

    PS : Etant actuellement sur clavier QWERTY, les accents ce font rares .

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ok alors,

    J'ai suivit ce que tu as dis Tachmou, mais ceci ne fonctionne pas, ca vient de moi j'en suis sur .

    Petite precision avant, le code fonctionne. Je te montre ce que j'ai fait, et ce que ca m'affiche dans la console.

    Nom : GUI.jpg
Affichages : 554
Taille : 141,9 Ko

    Merci .

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    C'est pas comme ça que marchent les callbacks.

    Tu assignes ton callback lors de la création de ton Pushbutton

    écrire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function pushbutton17_Callback(hObject,eventdata,handles)
    'callback',@readadc
    est faux.

    mets directement ta fonction readadc dans le corps de ta fonction callback.

    je pense que ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function pushbutton17_Callback(hObject,eventdata,handles)
    readadc()
    end
    pourrait marcher, mais bon je n'ai pas l'ensemble des données pour vérifier.


    je te mets un petit exemple pour que tu comprennes la syntaxe des callbacks.

    tu créés un petit main tout simple avec un texte et un bouton. tu assignes le callback lors de la création de ton bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    h_fig= figure(15);
    h_chiffre = uicontrol(h_fig,'style','text','Position',[200 300 50 15],'string','0');
    h_plusun = uicontrol(h_fig,'style','pushbutton','Position',[200 200 50 50],'string','+1','callback',@cllbk_plusun);
    setappdata(h_fig,'handles_txt',h_chiffre);
    tu créés un fonction appelée "cllbk_plusun" dans un autre fichier et tu lui fait faire ce que tu veux, à savoir incrémenter de 1 le chiffre écrit dans le petit texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function cllbk_plusun(hobj,~)
    h_chiffre = getappdata(ancestor(hobj,'figure'),'handles_txt');
    nombre = str2num(get(h_chiffre,'String'));
    nombre = nombre+1;
    set(h_chiffre,'string',num2str(nombre));
    end

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup Dombrai ton poste est vraiment interressant, ca m'a permit de progresser .

    Sinon j'ai resolu mon probleme en ne passant pas par le guide. Je joins une image pour montrer comment j'ai fait . Je me suis inspire d'un tutoriel de ce site.

    Nom : GUI.jpg
Affichages : 511
Taille : 78,7 Ko.

    Merci beaucoup tout le monde !

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

Discussions similaires

  1. Fonction callback
    Par saibe dans le forum Linux
    Réponses: 4
    Dernier message: 19/01/2012, 10h41
  2. [debutant] fonction callback
    Par samipate dans le forum Langage
    Réponses: 5
    Dernier message: 09/10/2005, 14h59
  3. problème fonctions callback
    Par youp_db dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 02/10/2005, 14h47
  4. [Débutant] fonction CALLBACK
    Par tlt dans le forum MFC
    Réponses: 2
    Dernier message: 29/10/2004, 16h55
  5. Fonction callback dans une classe
    Par julian_ross dans le forum MFC
    Réponses: 8
    Dernier message: 02/03/2004, 11h42

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