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)
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)
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))
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
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')
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
Désolé la mise en page c est mal faite
Voila ce que je veux
Collone 1 Colonne 2
1 3
2 4
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
Pourquoi ne pas plutôt utiliser un objet EditText par colonne ? Ou mieux essayer avec un DataGrid (contole ActiveX si tu es sous Windows)
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
Il y a plusieurs solutions données dans le File EXchange.
En voici une : Spreadsheet
J'ai une erreur quand j'execute ton exemple
Cependant j'ai trouvé une autre qui fait mon affaire??? 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)]);
http://www.mathworks.com/matlabcentr...bjectType=file
La casse tête pour moi est comment insérer cette fenetre dans mon interface ?
merci
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 ?
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 :
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)) 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])
Maintenant, il faut ajuster tous les formats dans SPRINTF pour obtenir le résultat souhaité
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])![]()
Encore merci Dut
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager