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 :

Aide création d'interface


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut Aide création d'interface
    Bonjour à tous,

    je travaille acutellement sur un code matlab qui, pour une antenne donnée (dipole, plaque...), permet de calculer entre autre la densitée de courant surfacique, le champ électrique en un point...
    Le code est partagé en plusieurs fichiers qui ont chacun un rôle précis (créer un maillage, calculer la matrice d'impédance...) que j'ai regroupé dans un seul fichier, comme ca je n'ai plus qu'à lancer ce fichier et il me run les 5 fichiers à la suite.
    Dans mom programme je n'ai que 3 paramètres à changer: l'antenne que je veux charger (load('mesh/bowtie')), la direction de polarisation (changer des coordonées du vecteur Pol =[1 0 0]; ) et la valeur de la fréquence avant d'effectuer une simulation.

    Je souhaite maintenant réaliser une interface simple qui me permetrait de changer facilement les 3 paramètres ci dessus: d'abord charger une antenne, régler la polarisation et enfin fixer la fréquence. Le problème c'est que je ne suis pas familier avec l'outils guide de matlab et je peine à trouver des tutoriels qui expliquent concrètement le jargon et certaines fonctions (handles, varargout..). J'ai lus quelque pages ici et fait un exemple qui permettait de changer une couleur de facon aléatoire mais rien n'y fais. De plus, de ce que j'ai compris, je ne sais même pas si c'est possible de créer une interface qui permet de charger un fichier avant de lancer les calculs...

    Est ce que quelqu'un pourrait me dire si réaliser une telle interface est possible et m'orienter ou m'aider à comprendre les bases de guide?

    Cordialement

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour

    Je suppose que si tu poses ces questions c'est que tu es déjà passé par le tutoriel de Dut sur la programmation des interface graphique mais que tu n'y as pas trouvé ton bonheur.

    Ce que tu désires faire est tout à fait réalisable via le GUIDE de Matlab.

    Résumons ce que tu dois faire:
    1. Charger une antenne (donc un fichier)
    2. Changer les coordonnées du vecteur de polarisation
    3. Choisir une fréquence


    L'idéal sera donc de créer 3 boutons différents pour effectuer ces 3 actions. Pour charger le fichier je te propose d'utiliser un pushbutton combiné à la fonction uigetfile
    Pour le vecteur de polarisation et la fréquence, tout dépend si tu veux laisser à l'utilisateur le choix de rentrer librement les informations ( dans ce cas l'utilisation d'un edit bouton s'impose), ou lui proposer une liste de choix pré-déterminés ( dans ce cas, envisagé un popup bouton).
    Etant donné que le vecteur de polarisation comporte 3 coordonnées, je te propose également dans le cadre de l'utilisation d'un edit bouton de le remplacer par 3 edit, ce qui te simplifiera la tâche.

    Maintenant je suppose que tu as une multitude de questions. Alors commençons.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Merci de ta réponse rapide
    Oui effectivement je suis allé faire un tour sur cette page mais je ne comprend pas tout ...

    Alors, tu as très bien résumé ce que je souhaite faire. Je pensais faire un panel avec autant de push button qu'il y a d'antenne, faire un check button pour la polarisation (les coordonées du vecteurs seront toujours 1 ou 0) et laisser l'utilisateur mettre sa fréquence. Je ne sais pas comment faire en sorte que l'utilisateur rentre lui même la fréquence.
    Voilà ce que ça donne
    Nom : test.JPG
Affichages : 2740
Taille : 42,8 Ko

    De ce que j'ai compris, toi tu me dit de n'utiliser qu'un seul pushbutton pour l'antenne associé à "uigetfile" est ce que tu pourrais m'en dire un peut plus sur cette fonction car l'aide matlab est un peu sommaire.
    Tu parles d'edit button mais je ne le trouve pas dans la barre de choix

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Le edit bouton on le voit sur ton screenshot, c'est "edit text"; cela permet à l'utilisateur d'entrer directement une valeur.

    Pour la polarisation, si tu peux avoir des vecteurs du type [1 1 0], le choix des checkbox me semble bien adapté, si par contre tu ne peux avoir que des vecteurs qui suivent les axes de ton repère [1 0 0] ou [0 1 0] ou [0 0 1], alors mieux vaut utiliser un buttongroup avec 3 radio boutons.

    Pour l'utilisation de uigetfile, c'est assez facile. Cela permet d'aller chercher le path d'un fichier de façon très intuitive. Tape uigetfile dans ta command window pour t'en convaincre.
    Cela dit, si tu n'as que 4 fichiers, tu peux éventuellement utiliser un popup menu (liste déroulante) qui me semble plus adapté que 4 push boutons.

    Une fois que tu as crée tes boutons, il faut que tu ailles coder leur utilisation dans le callback associé.

    PS: quelle version de Matlab utilises-tu?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    j'avais peur de passer pour un con si je demandais si "edit button" et "text edit" était pareil ... ^^

    oui on peut avoir des vecteurs du type [1 1 0], du coup je vais garder ce systeme.

    La je n'ai que 4 fichiers mais je vais peut être être amené à utiliser d'autre antennes : je vais donc switcher sur un pop up menu. J'ai tapé uigetfile dans la command window et je vois qu'il me sort une variable "ans" de type "char" : c'est bien le chemin d'accès au fichiers, si je ne me trompe pas?

    Et là je ne sais plus quoi faire une fois les bouttons placé. J'ai vu une vidéo où le mec parlait de "tag" et cliquait sur l'icone à coté de "string" dans la fenetre pour inspecter les éléments, à quoi ca sert et que faut il y faire?

    Une fois le fichier.m créé, je ne comprend pas trop comment le modifier. Je comprend à peut près la structure, une fonction par bouttons mais je ne sais pas comment les modifier et je ne comprend pas les fonction "varargout", "test_OpeningFcn" (après je ne suis pas sur qu'il faille toucher à ces fonctions là)

    Je suis sous matlab 2014A mais j'ai les versions de 2011 à 2015

    En tout cas merci de prendre le temps

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Alors pour l'instant en temps que débutant pour toi, ce qui t'intéresse ce sont les callback des fonctions associées aux boutons.

    Je pense que si tu dois aller chercher un fichier, il faut utiliser un pushbuton uniquement.

    Sur chaque bouton de ton interface graphique, tu peux faire un click droit puis view => callback. Cela va t'amener dans le code au niveau de ce callback. Ce qui va s'exécuter quand tu vas interagir avec le bouton, c'est tout ce qui sera écrit dans le callback.

    Donc par exemple, tu peux commencer par travailler sur l'import de fichier. Dans le callback de ton bouton import, tu peux commencer par écrire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [name, path] = uigetfile;
    full_path = fullfile(path,name);
    % puis utilisation d'une fonction d'import pour récupérer les données de ton fichier; exemple :
    myDatas = importdata(full_path);
    PS: il faudrait également envisager d'ajouter un push bouton pour faire le calcul désiré.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    C'est pas possible de faire en sorte d'indiquer directement le chemin d'accès du fichier pour ne pas avoir à le chercher sois même (ce qui serait plus simple si je doit envoyer tous le programme à quelqu'un qui veut juste tester sans rien toucher) ?

    Maintenant pour la polarisation, comment marche la check up box? est ce qu'il faut que je mette mes coordonées en variables et en cochant les cases ca change les variables?

    Le push button pour lancer les calcul en fait c'est juste celui qui me run le fichier principal (celui qui lance 5 fichiers à la suite), du coup dans le callback de ce bouton je met juste le nom de mon fichier pour le lancer mais ça n'as pas l'air de marcher...

    EDIT : le bouton pour lancer la simulation marche parfaitement par contre il me sort toujours les calculs pour la meme antenne et ne semble pas prendre en compe ce que je lui ai demandé de charger

    EDIT 2 : non en fait c'est bon, ca change bien l'antenne qu'il faut ^^

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Citation Envoyé par link47450 Voir le message
    C'est pas possible de faire en sorte d'indiquer directement le chemin d'accès du fichier pour ne pas avoir à le chercher sois même (ce qui serait plus simple si je doit envoyer tous le programme à quelqu'un qui veut juste tester sans rien toucher) ?
    Si c'est possible, mais ça offre moins de liberté. Et puis il faudra bien charger les fichiers à un moment où à un autre donc il faudra que l'utilisateur ait les fichiers aussi et il faudra également faire attention lors de leur import. (Soit toujours dans le même dossier sur le PC, soit dans le même dossier/sous dossier que le .m où se trouve l'IHM, c'est les 2 seuls moyens que je connais pour automatiser l'importation de fichier)

    Citation Envoyé par link47450 Voir le message
    Maintenant pour la polarisation, comment marche la check up box? est ce qu'il faut que je mette mes coordonées en variables et en cochant les cases ca change les variables?

    Le push button pour lancer les calcul en fait c'est juste celui qui me run le fichier principal (celui qui lance 5 fichiers à la suite), du coup dans le callback de ce bouton je met juste le nom de mon fichier pour le lancer mais ça n'as pas l'air de marcher...
    pour la checkbox, tu peux récupérer sa valeur en faisant get(handles.checkbox_x,'Value');
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Gooby Voir le message
    Si c'est possible, mais ça offre moins de liberté. Et puis il faudra bien charger les fichiers à un moment où à un autre donc il faudra que l'utilisateur ait les fichiers aussi et il faudra également faire attention lors de leur import. (Soit toujours dans le même dossier sur le PC, soit dans le même dossier/sous dossier que le .m où se trouve l'IHM, c'est les 2 seuls moyens que je connais pour automatiser l'importation de fichier)
    Justement, c'est ce que je cherche. Je classe correctement mes fichiers dans des dossier / sous-dossier pour que quand j'envois tous à quelqu'un il n'a plus qu'à lancer l'interface et choisir ce qu'il veut sans avoir à définir le chemin d'accès.

    Je suppose que la checkbox renvois 1 si elle est cochée et 0 sinon? Si oui pour mon vecteur ca m'arrange.

    Et pour mon edit button, l'instruction pour récuperer la valeur c'est get(handles.edit,'Value');Quand je lance les calculs via l'interface, je n'ai pas accès aux variables dans mon workspace, ni en tapant "whos" du coup je me demandais comment faire pour les visualiser histoire de vérifier que je ne me suis pas trompé

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Citation Envoyé par link47450 Voir le message
    Je suppose que la checkbox renvois 1 si elle est cochée et 0 sinon? Si oui pour mon vecteur ca m'arrange.
    oui

    Citation Envoyé par link47450 Voir le message
    Et pour mon edit button, l'instruction pour récuperer la valeur c'est get(handles.edit,'Value');
    Non, il faut faire str2double(get(handles.edit,'String'));
    Citation Envoyé par link47450 Voir le message
    Quand je lance les calculs via l'interface, je n'ai pas accès aux variables dans mon workspace, ni en tapant "whos" du coup je me demandais comment faire pour les visualiser histoire de vérifier que je ne me suis pas trompé
    Si tu veux vérifier le contenu des variables, il faut mettre des points d'arrêts dans ton code.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    Ok merci


    Bon en fait j'ai plusieurs problèmes :

    - quand je clique sur le bouton pour choisir l'antenne et que j'en sélectionne une ca ne marche pas (mais si je met un "load('nom du fichier') dans le main que je run en cliquant sur le bouton pour executer ca marche)

    - quand je clique sur une des coordonnée de ma checkbox il me sort une erreure et ca ne marche pas

  12. #12
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Citation Envoyé par link47450 Voir le message
    Ok merci


    Bon en fait j'ai plusieurs problèmes :

    - quand je clique sur le bouton pour choisir l'antenne et que j'en sélectionne une ca ne marche pas (mais si je met un "load('nom du fichier') dans le main que je run en cliquant sur le bouton pour executer ca marche)
    qu'est-ce qui ne marche pas ? Peux-tu nous montrer le code associé?

    Citation Envoyé par link47450 Voir le message
    - quand je clique sur une des coordonnée de ma checkbox il me sort une erreure et ca ne marche pas
    peux-tu nous montrer l'erreur ? et le code associé tant qu'à faire
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    J'ai modifier quelque peux mon interface, au lieux d'avoir 1 bouton qui run tous mes programme j'en ai mis 4 car j'aurais 4 tracer par la suite.
    "courant surfacique" qui me run un fichier "main" qui lui lance 5 fichier
    "densité" qui lui lance un ficher
    les autres ne sont pas encore attribué

    Alors pour le choix de l'antenne :
    - en rouge l'erreur que matlab me sort quand je clique sur courant surfacique après avoir selectionné une antenne, la variable p est une caractéristique de l'antenne donc ca montre que le fichié n'est pas chargé
    - en dessous mon interfance
    - le callback de l'antenne, j'ai recopié ce que tu m'as donné au début
    - le callbcak de "courant surfacique" qui lance main
    - le fichier main

    quand dans main j'active la ligne "load('mesh/dipole')" que je lance l'interface et que j'appuis sur "courant surfacique" ca marche niquel mais quand je la met en commentaire et que je veux la choisir via l'interface ca déconne

    Nom : main.jpg
Affichages : 1370
Taille : 125,5 Ko

    Pour la checkbox, j'ai aussi recopier la ligne que tu m'as donné

    Nom : check box.JPG
Affichages : 1388
Taille : 31,4 Ko

  14. #14
    Membre régulier
    Homme Profil pro
    Stagiaire assistant ingénieur R&D
    Inscrit en
    Mai 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Stagiaire assistant ingénieur R&D

    Informations forums :
    Inscription : Mai 2014
    Messages : 54
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    je n'ai pas vraiment suivi le début des échanges mais je vais essayer de te répondre au mieux :

    - Pour l'erreur sur la variable p, est-elle chargée dans ton programme rwg1, ou est chargée dans un autre script ?
    - Pour l'erreur sur les checkbox, il semblerai que matlab ne détecte pas ton objet graphique. As-tu changé le tag de ton checkbox, est-il bien checkbox_x ?

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par yop3112 Voir le message
    - Pour l'erreur sur la variable p, est-elle chargée dans ton programme rwg1, ou est chargée dans un autre script ?
    Non en faite la variable p est une variable d'un fichier .mat (celui de l'antenne que je veux selectionner : dipole, platefine...) et il faut le charger pour pouvoir executer rwg1, ce que je souhaite faire en cliquant sur un bouton.

    Citation Envoyé par yop3112 Voir le message
    - Pour l'erreur sur les checkbox, il semblerai que matlab ne détecte pas ton objet graphique. As-tu changé le tag de ton checkbox, est-il bien checkbox_x ?
    J'avais édité le message hier mais ca n'a pas du passer, oui c'était bien une erreur de tag. Par contre, est ce que je peux écrire par exemple "X = get(handles.checkbox1,'Value');" (idem avec y et z) pour enssuite faire un vecteur de coordonnées X Y Z?

  16. #16
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Citation Envoyé par link47450 Voir le message
    J'avais édité le message hier mais ca n'a pas du passer, oui c'était bien une erreur de tag. Par contre, est ce que je peux écrire par exemple "X = get(handles.checkbox1,'Value');" (idem avec y et z) pour enssuite faire un vecteur de coordonnées X Y Z?
    Oui, tu peux faire un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    X = get(handles.checkbox1,'Value');
    Y = get(handles.checkbox2,'Value');
    Z = get(handles.checkbox3,'Value');
    coord = [X, Y, Z];
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  17. #17
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bon alors, on va reprendre quelques explications car il y a beaucoup de confusion ici.

    Lorsque tu travailles sur une IHM, les variables que tu utilises dans ton IHM ne sont PAS enregistrées dans le workspace. Cela veut dire que si par exemple dans un push bouton1 tu fais a=1, le a n'existera pas pour autant dans le workspace (dans la command window si tu écris a tu auras une erreur) et elle ne sera pas NON PLUS connu dans le callback d'un autre bouton. Je suppose que tu comprends bien qu'elle ne sera également pas utilisable dans une autre fonction exporté ou dans une autre fenêtre de l'IHM.

    Pour gérer les variables dans l'interface graphique, tu as plusieurs possibilités décrites dans le tutoriel de Dut. Je te conseille personnellement d'utiliser les handles pour déplacer les variables d'un callback à un autre.

    Prenons par exemple le push bouton que tu utilises pour l'import de tes fichiers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [name, path] = uigetfile;
    full_path = fullfile(path,name);
    myDatas = importdata(full_path); % ici la variable n'est pas "sauvegardé"
    % plutôt faire ceci:
    handles.myDatas = importdata(full_path);
    guidata(hObject,handles); % pour "enregistrer" la variable
    Ainsi, tu pourras appelé dans les autres callback handles.myDatas qui contiendra le fichier importer.

    PS: tu peux directement copier ton code sur le forum en utilisant les balises [CODE] (#) plutôt que de faire des screenshots.

    PS2: pour l'erreur avec le load, cela veut dire que tes datas devront être entré en variable d'entré de ta fonction main.
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    ok c'est bon il ne me sort plus d'erreure, par contre impossible de charger une antenne

    Edit : je viens de fermer et de re-ouvrir Matlab et il m'indique "Undefined function or variable 'f'."

  19. #19
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Peux tu développer ce qui ne marche pas?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Gooby Voir le message
    Bon alors, on va reprendre quelques explications car il y a beaucoup de confusion ici.

    Lorsque tu travailles sur une IHM, les variables que tu utilises dans ton IHM ne sont PAS enregistrées dans le workspace. Cela veut dire que si par exemple dans un push bouton1 tu fais a=1, le a n'existera pas pour autant dans le workspace (dans la command window si tu écris a tu auras une erreur) et elle ne sera pas NON PLUS connu dans le callback d'un autre bouton. Je suppose que tu comprends bien qu'elle ne sera également pas utilisable dans une autre fonction exporté ou dans une autre fenêtre de l'IHM.
    Ok effectivement pas mal de confusions de ma part, je pensais que les variables étaient nativement dans les callback des autre boutons. Aussi je n'était pas sur si elles était ou non dans le workspace. D'où ma question plus haut de comment vérifier le contenu de la variable.

    Je vais relire le lien que tu as donné.

    Par contre du coup je suis pas sur d'un truc pour l'histoire de mon vecteur. Quand je clique dans la checkbox, la variable de l'interface prend la valeur 1 et je m'en sert pour les coordonées d'un vecteur que j'utilise par la suite dans un des fichier lancé par main. Ce qui veux dire que mes 3 variables des callback checkbox doivent être appellées dans un même callback pour en faire un vecteur ( le callback du pushbutton qui lance le premier calcul par exemple). Mais comme ce vecteur est utilisé dans un des fichiers que "main" lance il faut que je le déclare en variable d'entrée de ma fonction "main", c'est bien ca?
    Pareil pour la fréquence, il faut que je la déclare en variable du main ou non?

Discussions similaires

  1. [Débuter] Création d'interfaces à l'aide de Qt Designer
    Par rawdh dans le forum Qt Creator
    Réponses: 2
    Dernier message: 28/02/2014, 22h57
  2. Aide création tableau dans interface graphique
    Par craps78 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 03/04/2007, 17h59
  3. [Aide] Création d'une interface Ajout/Suppression
    Par Fredods26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 19/10/2006, 14h16
  4. Création d'interface graphique pour débutant ...
    Par lesuisse dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 08/03/2006, 13h20
  5. Réponses: 2
    Dernier message: 29/03/2004, 18h29

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