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 :

Affichage d'une matrice dans un edit


Sujet :

Interfaces Graphiques

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut Affichage d'une matrice dans un edit
    Bonjour

    j'ai créé un edit sur une interface Matlab

    J'assaie d'afficher une matrice dans cette zone mais sa me donne rien, La zone edit devient grise et je ne voit rien

    C= [1 2 3 4; 5 6 7 8]


    set(handles.edit1,'String',C)

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    figure
     
    u=uicontrol('style','edit',...
                'units','normalized',...
                'position',[.4 .4 .2 .2]);
     
    C= [1 2 3 4; 5 6 7 8];
     
    set(u,'max',size(C,1), ...
          'string',num2str(C))
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    encore merci Dut,

    Comment pourrais je cependant afficher ma matrice C [1 2; 3 4] dans mon edit tel que



    Collone 1 Colonne 2
    1 3
    2 4

    Comment imposer un espace entre colonne 1 et colonne 2 ?
    Comment mettre par exemple la 2 eme colonne en rouge et la premiere en bleu


    Encore merci de ton aide si précieuse

  4. #4
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    Afficher différentes couleurs pour un edit text n'est pas possible.

    Tu ne peux avoir qu'une couleur , avec l'exemple précédent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    figure
     
    u=uicontrol('style','edit',...
                'units','normalized',...
                'position',[.4 .4 .2 .2]);
     
    C= [1 3 ; 2 4];
     
    set(u,'max',size(C,1), ...
          'string',num2str(C),'foregroundcolor','r')
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par harris_macken Voir le message
    Comment imposer un espace entre colonne 1 et colonne 2 ?
    Pour ma part, je n'ai pas compris ce passage

    Tu veux mettre une entête à chaque colonne ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  6. #6
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    en fait je veux afficher le titre de la colonne et en dessou la valeur tout en gardant un espace donné entre ces colonnes

    Colonne1 Colonne 2
    1 3
    2 4



    Moi je veux

    Colonne 1 Colonne 2
    1 3
    2 4

    Donc de l'space avec le titre des colonnes
    Merci

  7. #7
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    Désolé la mise en page c est mal faite

    Voila ce que je veux


    Collone 1 Colonne 2

    1 3
    2 4

  8. #8
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    La mise en page de page web déforme ce que j veux dire

    bref, la valeur de la colonne sous la colonne et un espace important entre chaque colonne

    J'espere que je suis un peu plus explicite

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Pourquoi ne pas plutôt utiliser un objet EditText par colonne ? Ou mieux essayer avec un DataGrid (contole ActiveX si tu es sous Windows)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  10. #10
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    Pour l'option d'utiliser plusieur Edit Text : en fait j'ai une 18 colonne donc sa risque de mal paraitre sur mon interface

    Pour le DataGrid (et oui je suis sur windows) : je ne sais pas trop comment sa marche :

    J'ai ajouté un ActiveX Control à mon interface (icone X en bleu). Il ma proposé une liste d'Active X mais je ne trouve pas de DataGrid.
    J'ai essayer de mettre un Acrobat Reader pour voir mais quand j'execute il géle

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Il y a plusieurs solutions données dans le File EXchange.

    En voici une : Spreadsheet
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  12. #12
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    J'ai une erreur quand j'execute ton exemple
    ??? Error using ==> actxcontrol at 214
    Control creation failed. Invalid ProgID 'OWC11.Spreadsheet.11'

    Error in ==> Spreadsheet at 107
    Spreadsheet1 = actxcontrol('OWC11.Spreadsheet.11',[0 0 psn(3:4)]);
    Cependant j'ai trouvé une autre qui fait mon affaire

    http://www.mathworks.com/matlabcentr...bjectType=file

    La casse tête pour moi est comment insérer cette fenetre dans mon interface ?

    merci

  13. #13
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par harris_macken Voir le message
    J'ai une erreur quand j'execute ton exemple
    Voici ce que l'auteur mentionne :
    Citation Envoyé par Michael Robbins
    NOTE: If you cannot instantiate the control, try changing 'OWC11.Spreadsheet.11' to 'OWC10.Spreadsheet.10' or even 'OWC9.Spreadsheet.9'
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  14. #14
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    Oui j'ai testé les 3 mais sa ne marche pas.

    Bref l'autre solution me va bien

    C'est juste que je me demande comment intégrer cette fenetre a mon interface à la place de mon EditText ?

  15. #15
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Depuis le temps que je côtoie MATLAB, j'ai rarement entendu quelqu'un se satisfaire de ces "grilles"

    Revenons à la première idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    figure
     
    u=uicontrol('style','edit',...
                'units','normalized',...
                'position',[.4 .4 .2 .2]);
     
    C = round(10*rand(15,8))
     
    fmt=[repmat('Col %d ',1,size(C,2)) '\n' repmat([repmat(' %6d ',1,size(C,2)) '\n'],1,size(C,1))];
     
    str=sprintf(fmt,1:size(C,2),C.');
     
    set(u,'max',size(C,1), ...
          'string',str,...
          'units','normalized',...
          'position',[.1 .1 .8 .8])
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    figure
     
    u=uicontrol('style','edit',...
                'units','normalized',...
                'position',[.4 .4 .2 .2]);
     
    C = round(10*rand(15,8))
     
    str{1}=sprintf('Col %d ',1:size(C,2));
     
    str{2}=sprintf([repmat(' %6d ',1,size(C,2)) '\n'], C.');
     
    set(u,'max',size(C,1), ...
          'string',str,...
          'units','normalized',...
          'position',[.1 .1 .8 .8])
    Maintenant, il faut ajuster tous les formats dans SPRINTF pour obtenir le résultat souhaité
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  16. #16
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    Encore merci Dut

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/12/2012, 05h40
  2. Affichage d'une matrice dans une fenêtre
    Par barney_vegeta dans le forum NetBeans
    Réponses: 3
    Dernier message: 27/04/2012, 12h08
  3. [Débutant] Affichage d'une matrice dans GUI
    Par tcheck_vi dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 20/04/2009, 13h15
  4. Réponses: 4
    Dernier message: 18/04/2004, 13h36

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