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

MATLAB Discussion :

Mise à jour de l'affichage d'une GUI [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Mise à jour de l'affichage d'une GUI
    Bonjour,

    Je commence tout juste à créer des interfaces graphiques avec Matlab. J'ai décidé d'utiliser la méthode des getappdata, setappdata et findobj après avoir suivi les tutoriels disponibles sur le site. Je ne trouve de réponse à mon problème nul part, c'est pourquoi je crée une nouvelle discussion. Voici un petit programme que j'ai écrit pour illustrer mon problème :

    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
    %fonction principale
     
    function afficher_un_texte_bidon
     
    %Création de l'objet figure
    figure('units','pixels',...
        'position',[150 150 450 250],...
        'numbertitle','off',...
        'name','',...
        'menubar','none',...
        'tag','interface');
     
    %Création de l'objet pushbutton select_band
    uicontrol('style','pushbutton',...
        'units','normalized',...
        'position',[0.1 0.60 0.22 0.1],...
        'string','Afficher texte bidon',...
        'callback',@aff_texte,...
        'tag','pushbuttonafficher');
     
    %Création de l'objet texte bidon
    uicontrol('style','text',...
        'units','normalized',...
        'BackgroundColor',[215 241 236] ./ 255,...
        'position',[0.1 0.75 0.5 0.05],...
        'string','Texte bidon',...
        'HorizontalAlignment','left',...
        'tag','bidon',...
        'visible','off');
     
    %sous-fonction aff_texte
     
    function aff_texte(obj,event)
     
    h = findobj('tag','bidon');
    setappdata(h,'visible','on');
    getappdata(h,'visible')
    Le but de ce code est d'afficher un texte après avoir cliqué sur le pushbutton, mais je n'y parviens pas alors que le getappdata me confirme bien que 'visible' est passé à 'on'. Comment dois-je mettre l'affichage de la figure à jour ?

    Autre problème : il arrive parfois que findobj me retourne plusieurs identifiants. Pouvez-vous m'expliquer la raison ?

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 881
    Points : 3 429
    Points
    3 429
    Par défaut
    salut

    setappdata et getappdata servent à gerer des variables relatives à l'application / la fenetre
    pour modifier une propriété (ici "visible") d'un objet, ce sont les méthode set et get qu'il faut utiliser

    quand à ton findobj : il te retourne tous les objets correspondant à tes critères de recherche (ici tag = 'bidon')
    il peut y avoir plusieurs objet retournés

    Fabien

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup ! En effet je comprends mieux pourquoi je trouvais de réponse nul part...
    Je ne comprends en revanche toujours pas pourquoi findobj me retourne plusieurs identifiants. J'ai bien fait attention à mettre des tags différents pour mes objets, je ne vois donc pas pourquoi. Lorsque j'utilise findall, j'obtiens trois objets (la figure, le pushbutton et le texte) alors qu'avec findobj je peux parfois avoir un nombre d'objet > 3

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

Discussions similaires

  1. [WD21] mise a jour de l'affichage d'une zone répétée
    Par Ricardinio dans le forum WinDev
    Réponses: 3
    Dernier message: 13/03/2016, 15h50
  2. Réponses: 4
    Dernier message: 26/03/2012, 21h35
  3. Réponses: 0
    Dernier message: 06/04/2010, 18h00
  4. Mise à jour de données à partir d'une autre table
    Par rsc dans le forum Langage SQL
    Réponses: 7
    Dernier message: 05/04/2006, 10h53
  5. Probleme de mise à jour et de modification d'une base
    Par flambo88 dans le forum Requêtes
    Réponses: 17
    Dernier message: 07/12/2005, 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