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 :

Fichier de paramètres GUI


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut Fichier de paramètres GUI
    Salut,

    Voilà j'ai un problème assez énervant sur les GUI. J'ai en fait une interface avec plein de cases où il faut entrer des paramètres. J'ai mis en place un système de fichier de paramètres : l'utilisateur ouvre un fichier excel contenant les paramètres à importer dans la GUI. Cela marche plutot bien pour l'instant , à un problème près : l'insertion des paramètres ne fonctionne (les paramètres apparaissent dans les cases) que si j'en ai tapés moi meme auparavant dans les cases.
    Je pense que c'est un problème d'initialisation des valeurs dans ces cases.

    Help !

    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 : 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
    Bonjour,
    Montre nous le code que tu utilises pour initialiser tes paramètres.

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Ben je pense que c'est ca le problème.. je ne les initialise pas.
    Je travaille sous GUIDE, donc je n'ai qu'a coder les callback. Je renvoie à chaque fois simplement (par exemple) la valeur dans les cases à l'aide de SETAPPDATA/GETAPPDATA .
    Vous pensez qu'a l'ouverture de la GUI il faudrait initialiser tous ces paramètres?

  4. #4
    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
    Normalement pour régler tes paramètres, tu vas utiliser SET/GET et non SETAPPDATA/GETAPPDATA qui permettent de sauvegarder les données dans le workspace mais pas de les afficher.

    Après, ca dépend de ce que tu souhaites faire, si c'est vraiment des valeurs par défaut, je te conseillerais de les stocker dans un fichier TXT que tu vas lire à l'ouverture de la fenêtre (et par la même occasion remplir tes edit).

    Si tu souhaites les initialiser à partir d'un fichier choisi par l'utilisateur (je sais pas si on peut vraiment parler d'initialisation dans ce cas là...), dans ce cas tu feras cette opération dans un Callback spécifique (comme tu sembles avoir commencer à le faire).

    Bref, il y a pas mal de possibilités et ton code serait bien utile pour pouvoir t'en dire plus (et plus précisément...)

  5. #5
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Oui je pense effectivement que le code serait une bonne aide

    Alors voilà un exemple d'une case que je remplis sur mon interface. Je rapelle que j'utilise GUIDE et que je ne remplis que le callback de chaque bouton/case etc à chaque fois.
    Ce que je fais ici en gros c'est que je sauvegarde la valeur contenue dans la case en question. Je sauvegarde également le hObject pour pouvoir imposer une valeur à partir de mon fichier.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function edit3_Callback(hObject, eventdata, handles)
    % hObject    handle to edit3 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Hints: get(hObject,'String') returns contents of edit3 as text
    %        str2double(get(hObject,'String')) returns contents of edit3 as a double
    param2_ARMALMS = get(hObject,'String');
    setappdata(gcf,'param2_ARMALMS',param2_ARMALMS);
    setappdata(gcf,'obj_param2_ARMALMS',hObject);
    Je pense que le problème c'est justement que l'on ne rentre pas dans la fonction (et donc que mes paramètres 'obj_param2_ARMALMS' et 'param2_ARMALMS' ne sont pas définit) si l'on a jamais cliqué sur la case en question. Il faudrait que ces paramètres soient définis au lancement de mon interface.

    Vous en pensez quoi?

  6. #6
    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
    Bonjour,

    Alors il y a plusieurs choses:

    D'une part, pour définir les valeurs de tes edit (puisque c'est ce que tu veux faire aparemment), il faut utiliser SET et non SETAPPDATA.

    D'autre part, il n'est pas franchement intéressant d'utiliser les callback des edit box (sauf dans certains cas particuliers, mais là non).

    En résumé, un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set(handles.edit3, 'String', 'Ma valeur 3');
    Dans l'Opening function de ton interface te permet d'initialiser ton edit (après évidemment il faut définir ce que tu mets dedans et répéter çà pour toutes les edit mais c'est une autre question).

    Ensuite pour récupérer tes données, il suffit de faire (dans le callback du bouton de validation par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    data(3) = str2num(get(handles.edit3, 'String'));
    Bon courage,
    Duf

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/04/2007, 17h29
  2. Plusieurs fichiers en paramètre
    Par Rocou dans le forum C
    Réponses: 5
    Dernier message: 27/02/2007, 11h35
  3. Batch remplacer \ par \\ dans fichier en paramètre
    Par prodi_64 dans le forum Windows
    Réponses: 1
    Dernier message: 19/02/2007, 14h41
  4. Réponses: 1
    Dernier message: 06/04/2006, 13h22
  5. Réponses: 7
    Dernier message: 29/09/2005, 10h19

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