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 :

Entrer et sortir des données GUI avec GUIDE [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Par défaut Entrer et sortir des données GUI avec GUIDE
    Bonjour à tous,

    Dans le cadre d'un projet pour mes études d'ingénieur, j'aimerais réaliser une interface graphique pour effectuer de l'acquisition de données. Je souhaite travailler avec une structure qui stockerait toutes les informations saisies par l'utilisateur pour stocker les informations encodées par l'utilisateur. Je souhaite donc que l'utilisateur rentre le nom du fichier, qu'il clique sur la façon dont il veut paramétrer l'acquisition. Cliquer sur le bouton ferme cette première fenêtre et en ouvre une deuxième en fonction du choix de l'utilisateur. Cependant, je ne parviens pas à récupérer le nom encodé par l'utilisateur. Le soucis doit venir de ma fonction Output puisque la valeur qui est affichée dans le workspace ne correspond pas à ce que j'ai encodé.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    % --- Outputs from this function are returned to the command line.
    function varargout = menu_principal_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get default command line output from handles structure
    % structure.nomchoc=handles.output;
    structure.nom=handles.output;
    varargout{1} = structure.nom;
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function edit1_Callback(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    handles.output=get(handles.edit1,'String');
    structure.nom=handles.output;
    Merci d'avance pour vos réponse !

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Par défaut
    Je viens de tenter de modifier ma fonction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    % --- Outputs from this function are returned to the command line.
    function varargout = menu_principal_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get default command line output from handles structure
    % structure.nomchoc=handles.output;
    varargout{1} = get(handles.edit1,'String');
    Et cependant, je ne comprends pas pourquoi il ne retient pas ce que j'encode dans mon edit text, cela ne se modifie pas.

    Merci d'avance pour vos réponses

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    N'aurais-tu pas oublié l'utilisation de uiwait/uiresume dans ton code ? Ce faisant à peine l'interface est créée, le résultat est déjà renvoyé. Voir ce message.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Par défaut
    J'y ai pensé en lisant les autres messages, mais cela ne fonctionne pas, j'obtiens ce message d'erreur :

    Attempt to reference field of non-structure array.
    
    Error in menu_principal>menu_principal_OutputFcn
    (line 84)
    varargout{1} = get(handles.edit1,'String');
    
    Error in gui_mainfcn (line 263)
            [varargout{1:nargout}] =
            feval(gui_State.gui_OutputFcn, gui_hFigure,
            [], gui_Handles);
    
    Error in menu_principal (line 41)
        [varargout{1:nargout}] = gui_mainfcn(gui_State,
        varargin{:});
    
    Error in main (line 15)
    [structure.nomchoc]=menu_principal(structure.nomchoc); 
    et à priori je ne comprends pas trop pourquoi puisque je me suis inspiré des autres postes à ce sujet pour écrire mon code

  5. #5
    Invité
    Invité(e)
    Par défaut
    Comment sors-tu de ton interface ? Appui sur un bouton ? Croix rouge ?
    Si la figure est fermée avant d'exécuter le code de la fonction *_OutputFcn, c'est tout à fait normal : handles sera vide [] et les différents objets (Edit, Checkbox, Radioboutons...) détruits, ne permettant donc plus de récupérer leur valeurs/état.

    Il faut appeler uiresume suite à l'action de fermeture, que ce soit dans le 'Callback' du bouton de validation ou le 'CloseRequestFcn' de la figure.
    Puis delete(hObject) dans la fonction *_OutputFcn.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Par défaut
    Je sors de mon premier interface en appuyant sur un bouton qui ouvre ainsi un second interface, et ce second interface dépend du bouton sur lequel j'appuie

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

Discussions similaires

  1. Requete sur des données horaires avec des trous..
    Par edmc73 dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 11/09/2007, 21h02
  2. Réponses: 1
    Dernier message: 31/01/2007, 11h59
  3. Comment entrer et sortir des données?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 2
    Dernier message: 13/06/2006, 20h57
  4. Envoyer des donnes à oracle avec ASP
    Par Dino501 dans le forum ASP
    Réponses: 1
    Dernier message: 13/03/2006, 21h16
  5. [TComPort] Analyse des données reçues avec ReadStr
    Par chourmo dans le forum Langage
    Réponses: 4
    Dernier message: 22/06/2005, 14h12

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