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 :

l'image s'affiche un coup mais pas deux


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 10
    Points
    10
    Par défaut l'image s'affiche un coup mais pas deux
    salut a tous !

    J'ai in probléme avec l'affichage d'une image(BWfinal) dans un 'axes'.
    Cet axes est tagé avec le nom 'milieu'.
    L'affichage de l'image est fait par l'appui sur un bouton start.
    Voila comment j'ai écris ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function start_Callback(hObject, eventdata, handles)
    blablablabla
    set(handles.milieu,'HandleVisibility','ON');
    axes(handles.milieu);
    imagesc(BWfinal);
    axis equal;
    axis tight;
    axis off;
    set(handles.milieu,'HandleVisibility','OFF');
    Ya aucun probléme, tout fonctionne a merveille

    Mais maintenant si je charge une autre image et que je réappuie sur le bouton start, l'image ne change pas et j'ai le message d'erreur suivant:
    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
    ??? Reference to non-existent field 'milieu'.
     
    Error in ==> jol>start_Callback at 156
    set(handles.milieu,'HandleVisibility','ON');
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> jol at 42
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==>
    @(hObject,eventdata)jol('start_Callback',hObject,eventdata,guidata(hObject))
     
     
    ??? Error while evaluating uicontrol Callback
    Ma question est: Pourquoi ca déconne lors d'un second appui ?

    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 : 40
    Localisation : France

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

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

    Je pense que la source de ton problème doit être (lors du premier appel):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set(handles.milieu,'HandleVisibility','OFF');
    Cette ligne a pour résultat de cacher le handle "milieu", il n'est donc plus accessible par la suite...

    Ce qui m'amène la question suivante, pourquoi modifies-tu cette propriété?

    Bonne apm,
    Duf

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Je débute,j'ai repris ca sur un exemple ou un tuto que j'ai trouvé je sais plus trop ou...
    Je ne savais pas exactement a quoi servait cette ligne

    j'ai commenté la ligne, mais j'ai toujours le même message d'erreur.

  4. #4
    Expert éminent sénior
    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
    Points : 14 828
    Points
    14 828
    Par défaut
    Désolée de te contredire Duf mais ça n'a rien à voir
    La propriété HandleVisibility sert seulement à ce que le handle ne soit pas accessible en dehors de l'environnement où il a été défini (ie la fonction où il a été créé).
    Elle est à 'off' par défaut.

    Par contre ça ne sert à rien de la "setter" à on ou off à chaque fois : tu peux enlever ces 2 lignes qui sont inutiles.

    Le problème vient de l'objet AXES qui a un comportement spécifique qui rend souvent chèvre
    Suite à l'utilisation de certaines fonctions (comme celles de l'image) certaines propriétés (dont le Tag) sont tout simplement effacées.
    Il faut dans ce cas modifier la propriété NextPlot de l'objet axes ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(handles.milieu,'NextPlot','add');
    Voir par exemple : Why is the Tag property of the parent axes not retained when using the IMSHOW function? - 1-5BO0I4

    PS :
    Je débute,j'ai repris ca sur un exemple ou un tuto que j'ai trouvé je sais plus trop ou...
    Je ne savais pas exactement a quoi servait cette ligne
    A éviter absolument, c'est le meilleur moyen de faire des bêtises

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Ah ben autant pour moi

    Je me coucherais encore un peu moins bête ce soir

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    OK merci ca marche au poil maintenant.
    merci pour le lien, j'avais cherché mais j'étais pas tombé sur celui la.
    Ba maintenant je prendrais le temps de comprendre correctement chaque lignes avant de recopier bêtement.

    et

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

Discussions similaires

  1. Affichage un coup mais pas deux
    Par sandrillon dans le forum Interfaces Graphiques
    Réponses: 11
    Dernier message: 29/06/2009, 10h47
  2. Lecteur flash s'affichant sous IE mais pas firefox
    Par phoenixn0ir dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 09/10/2008, 19h26
  3. Page en php s'affiche en local mais pas hébergée
    Par Nicos77 dans le forum Langage
    Réponses: 3
    Dernier message: 29/04/2008, 16h16
  4. Réponses: 4
    Dernier message: 03/05/2006, 00h04
  5. [APACHE] Le site s'affiche en local mais pas à distance
    Par anti-conformiste dans le forum Apache
    Réponses: 3
    Dernier message: 09/04/2006, 11h10

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