Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Interfaces Graphiques
Interfaces Graphiques Forum d'entraide sur les interfaces graphiques en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 14h54   #1
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : mars 2010
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 60
Points : 25
Points : 25
Par défaut Problème Set/Get Data Callback

Bonjour afin de récupérer les modifications de mes variables via mes callback j'ai utilisé get et set data comme le tutoriel... mais j'ai quelques soucis :

Mon initialisation :

Code :
1
2
3
4
5
6
   data=guihandles(gcf);
   data.testVal=get(handles.Test(:),'value');
   data.testImg=get(handles.image(:),'value');
   
   data
  guidata(gcf,data)
Mon fichier data :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
data = 
        interface: 1
      editManuPat: 36.0209
          checkOS: 28.0209
          checkIS: 27.0209
         checkONL: 26.0209
         checkINL: 25.0209
        checkRNFL: 24.0209
         checkILM: 23.0209
         checkHRC: 22.0209
    checkTestTous: 21.0209
          checkOD: 20.0209
          checkOG: 19.0209
           checkV: 18.0209
           checkH: 17.0209
         strPatho: 16.0209
         strAnnee: 15.0209
          editHop: 14.0209
          testVal: {8x1 cell}
          testImg: {4x1 cell}
mon Callback 1 qui modifie ma variable testVal :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
data=guidata(gcbf);

data.testVal(1:8)=get(composants(1:end),'value') ;
data.testVal

ans = 
    [0]
    [0]
    [0]
    [0]
    [0]
    [1]
    [1]
    [1]
Apres je veux récupérer toute les données de mes composants :

Code :
1
2
3
 set(handles.bp_Start,...
      'Callback', {@Recup_donnee_Interface,handles},...
   'Units', 'normalized')
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function Recup_donnee_Interface(hobject,event,handle)

data=guidata(gcbf);
data.testVal

ans = 
    [1]
    [0]
    [0]
    [0]
    [0]
    [0]
    [0]
    [0]
>>
Mais Matlab me retourne le vecteur de cell à son état initiale... Donc je pense que mon problème ce situe ici :

Code :
data.testVal(1:8)=get(composants(1:end),'value') ;
TheDwarf01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 15h01   #2
Modérateur
 
Avatar de Winjerome
 
Homme Jérôme
Inscription : septembre 2009
Messages : 3 598
Détails du profil
Informations personnelles :
Nom : Homme Jérôme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2009
Messages : 3 598
Points : 6 824
Points : 6 824
Bonjour,

Je dirais que tu as oublié la ligne guidata(gcbf,data) à la fin de ton Callback.
__________________
Débutant en MATLAB? Vous voulez faire une Interface Graphique? Les Tutoriels et la FAQ sont là pour vous aider
Une erreur? FAQ : Messages d'erreur et avertissements
"Ça ne marche pas" n'est pas une réponse acceptable Expliquez clairement votre problème (erreurs, résultats non attendus...).
Citation:
En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
Je suis régulièrement sur le chat DVP - Pas de question technique par MP, Merci
Winjerome est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 15h06   #3
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : mars 2010
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 60
Points : 25
Points : 25
Sacrebleu !!! tu as raison ^_^
TheDwarf01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h29.


 
 
 
 
Partenaires

Hébergement Web