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 :

Utilisation de GUIDE


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Par défaut Utilisation de GUIDE
    bonjour à tous,

    J'essaye de faire une GUI simple à l'aide de GUIDE (j'ai choisi cette méthode pour obtenir ensuite une interface graphique plus jolie et la compiler).
    - une zone "edit text" dans laquelle je rentre une valeur
    - un bouton qui lance une fonction se référant à la valeur sus-citée

    voici un bout de mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function numberOfImages_Callback(hObject, eventdata, handles)
    nbIm = str2double(get(hObject,'String'));
     
    function computeButton_Callback(hObject, eventdata, handles)
    nbIm = get(handles.numberOfImages_Callback,'String');
    (...)
    nbSlice = nbIm / length(b);
    Et voici l'erreur qui s'affiche lors de la pression du boutton :
    ??? Reference to a cleared variable handles.

    Error in ==> Compex>computeButton_Callback at 110
    nbIm = get(handles.numberOfImages_Callback,'String');

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> Compex at 42
    gui_mainfcn(gui_State, varargin{:});

    Error in ==>
    @(hObject,eventdata)Compex('computeButton_Callback',hObject,eventdata,guidata(hObject))


    ??? Error while evaluating uicontrol Callback
    je veux bien un conseil !

    Merci à vous

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Essayes ceci :
    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function numberOfImages_Callback(hObject, eventdata, handles)
    handles.nbIm = str2double(get(hObject,'String'));
    guidata(hObject, handles) ;
    
    function computeButton_Callback(hObject, eventdata, handles)
    nbIm = get(handles.nbIm,'String');
    (...)
    nbSlice = nbIm / length(b);
    Ou bien, simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function computeButton_Callback(hObject, eventdata, handles)
    nbIm = str2double(get(handles.numberOfImages,'String'));
     (...)
    nbSlice = nbIm / length(b);

  3. #3
    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
    Citation Envoyé par kmaniche Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function numberOfImages_Callback(hObject, eventdata, handles)
    handles.nbIm = str2double(get(hObject,'String'));
    guidata(hObject, handles) ;
     
    function computeButton_Callback(hObject, eventdata, handles)
    nbIm = get(handles.nbIm,'String');
    (...)
    nbSlice = nbIm / length(b);
    Dans ce cas, je pense qu'il faut plutôt écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function numberOfImages_Callback(hObject, eventdata, handles)
    handles.nbIm = str2double(get(hObject,'String'));
    guidata(hObject, handles) ;
    
    function computeButton_Callback(hObject, eventdata, handles)
    nbIm = handles.nbIm;
    (...)
    nbSlice = nbIm / length(b);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Par défaut
    seule la deuxième solution de kamaniche semble marcher. Les autres retournent la même erreur...

  5. #5
    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
    Celà dit la deuxième solution de kmaniche est sans doute la plus adaptée à ton besoin donc ca tombe plutôt bien...

    L'objet numberOfImages est un edit text, non?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Par défaut
    Citation Envoyé par duf42 Voir le message
    Celà dit la deuxième solution de kmaniche est sans doute la plus adaptée à ton besoin donc ca tombe plutôt bien...

    L'objet numberOfImages est un edit text, non?
    Oui c'est exactement ça.
    Maintenant j'ai une autre question : la pression d'un bouton appelle une fonction qui éxécute des commandes. De ces lignes de commande sont issus des résultats que j'aimerai utiliser dans une autre fonction appellée par un autre bouton. J'ai naivement essayé d'écrire ma fonction sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function [resultat] = NOMFONCTION (paramètres)
    pour réccupérer mes valeurs, mais cela ne fonctionne pas.... du coup je ne vois pas comment faire !

Discussions similaires

  1. interface graphique en utilisant le GUIDE
    Par hamza85 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 13/01/2011, 23h10
  2. Programmer SliderStep si on utilise la GUIDE
    Par TopCao dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 08/03/2010, 21h23
  3. [Débutant] Besoin d'être guidé dans l'utilisation d'XML
    Par jppaysan dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 28/04/2006, 11h19
  4. [GUID] Génération et utilisation
    Par Clorish dans le forum Langage
    Réponses: 3
    Dernier message: 12/11/2004, 14h27

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