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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    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 : 34
    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
    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.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    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 : 2908
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 : 34
    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
    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?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 18
    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 : 34
    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
    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é.

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