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 :

mon interface ne fonctione que dans GUIDE et plante quand je la lance seule [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut mon interface ne fonctione que dans GUIDE et plante quand je la lance seule
    Bonjour à tous,

    Je continue avec ma toute première interface GUI.
    Je l'ai construite avec GUIDE, Matlab 7.7.0 R2008b.

    Le problème est que quand je lance mon interface avec le bouton run (flêche verte) de GUIDE, ça fonctionne (disons que je tombe sur mes propres bugs lol)

    Par contre, quand GUIDE est fermé, que j'ouvre directement le fichier .fig de l'interface, et que je clique dans mon interface sur un de mes boutons, ça plante complètement. La structure handles passée en argument à la fonction callback est vide.

    Qu'est-ce qui ne va pas ?

  2. #2
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    salut
    il faut éxécuter (run ou F5) le fichier '.m' associé et non le fichier '.fig'

  3. #3
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Pourquoi veux-tu utiliser GUIDE ?

    A priori tu fais partie des "habitués", je te conseille donc de mettre les mains dans le cambouis c'est :
    - plus simple (au final si même s'il peut manquer le côté jouer avec boîtes :aie)
    - plus maintenable
    - on sait ce qu'on fait
    et plein d'autres très bonnes raisons que je ne trouve pas là mais il y en a d'autres
    Développement efficace des interfaces graphiques (GUI)

    Là en l'occurence tu es effectivement tombé dans le piège pour débutant (qui mériterait bien une FAQ) :
    Le .fig tout seul ne sert à rien, il ne contient que l'image, c'est-à-dire l'emplacement de tes différents éléments.
    Il ne doit jamais être lancé seul.

    C'est le .m associé qu'il faut lancer puisque c'est lui qui gère toute la structure de données permettant les interactions avec la figure.
    :arrow: Règles du Forum

    Adepte de la maïeutique

  4. #4
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut
    merci merci !
    je commence en effet à connaitre pas mal de ficelles dans matlab mais je n'ai jamais fait d'interfaces graphiques et je n'ai pas l'intention a priori d'en faire très souvent. Mais là je viens de récupérer une stagiaire qui ne connait pas matlab et je vais donc lui encapsuler quelques scripts dans des boites de dialogue.

    En espérant que le temps de développement supplémentaire sera inférieur au temps d'une formation éclair à Matlab, ce qui n'est pas gagné

    Aute question en passant : Comment je fait pour modifier l'emplacement et la taille de mes boutons en-dehors de GUIDE (vu qu'il bugue et refuse de le faire ?). Je suppose que ces données sont enregistrées dans le fichier .fig, mais comment je l'édite ?

  5. #5
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par ol9245 Voir le message
    Je suppose que ces données sont enregistrées dans le fichier .fig, mais comment je l'édite ?
    Oulà non surtout pas !


    Pour modifier une propriété d'un objet on utilise la commande SET (et GET pour récupérer) sur le handle (identifiant numérique unique) de l'objet.

    Le handle, quand tu utilises GUIDE, est récupérable grâce à la fonction GUIDATA en connaissant le Tag de ton objet (le Tag étant une propriété, une chaine par défaut est donnée dans GUIDE).

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    handles = guidata(gcf);%handles de la figure courante
    monbouton = handles.PushButton1 %handle de mon bouton
    set(monbouton,'Position',[10 10 100 200]);
    J'ai présupposé ici que la propriété Units était à pixels et donc mon bouton va être placé à 10 pixels des bords gauche et bas de la figure et fera 100 pixels de large et 200 de hauteur.
    :arrow: Règles du Forum

    Adepte de la maïeutique

  6. #6
    Membre émérite
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Billets dans le blog
    1
    Par défaut
    Merci

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

Discussions similaires

  1. Executer une fonction que dans la colonne C
    Par developpeur82 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/01/2013, 12h30
  2. Les puces de mon menu s'affiche que dans Mozilla
    Par flaydeer dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 20/06/2007, 13h01
  3. Réponses: 10
    Dernier message: 18/04/2007, 18h17
  4. Réponses: 14
    Dernier message: 17/08/2006, 11h29
  5. pourquoi mon applet ne s'ouvre que dans C:
    Par gabule dans le forum Applets
    Réponses: 2
    Dernier message: 02/06/2006, 10h04

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