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 Perl Discussion :

Mise en page dans TableMatrix


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur Recherche
    Inscrit en
    Octobre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Ingénieur Recherche

    Informations forums :
    Inscription : Octobre 2014
    Messages : 69
    Par défaut Mise en page dans TableMatrix
    Bonjour,

    J'utilise en ce momment TableMatrix pour visualiser des tableaux. C'est très complet, mais également assez compliqué.
    Il y a certaines commandes qui doivents exister mais que je ne trouve pas:

    - Comment ne visualiser que quelques chiffres après la virgule sans modifier le tableau de données?
    - Rendre certaines cellules non selectionnables. Le (très utile) tuto de djibril montre un tableau avec cette option, mais je ne comprend pas quelle partie du code correspond à cela.
    - Choisir les couleurs des cellules selectionnées. (J'ai essayé -invertselected=>1 et -invertselected=>'on' dans les param généraux du tableau, mais cela semble sans effets.)
    - Peut-on récupérer la valeur d'une cellule sans passer par le tableau $variable d'entrée?
    - Taille de la colonne automatique selon ce qui a dedans (AutoFit ou qqc comme ça).
    - Empêcher le redimensionnement de certaines lignes/colonnes.

    Voilà, pas tout est particulièrement important, mais c'est toutes les choses auxquelles je pouvait penser (jusqu'à maintenant).

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bonjour,

    Sans un code quelconque de ta part, on ne sait pas si tu as vraiment cherché !

  3. #3
    Membre confirmé
    Femme Profil pro
    Ingénieur Recherche
    Inscrit en
    Octobre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Ingénieur Recherche

    Informations forums :
    Inscription : Octobre 2014
    Messages : 69
    Par défaut
    Je ne sais pas quel genre de code utiliser, c'est pour ça que je demande!

    j'ai un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    use Tk;
    use Tk::TableMatrix;
     
    $fenetre_principlale = MainWindow->new;
    my $arrayVar = {};
    for my $row ( 0 .. 7 ) {
    	for my $col ( 0 .. 7 ) {
    		$tableau_bd->{"$row,$col"} = $col+1.5487542158765235*$row;
    	}
    }
    my $tableau = $top->Scrolled(
    	'TableMatrix',
    	-variable   => $arrayVar,
    );
    Je cherche quelque chose du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau->configure(-nb_chiffre_affiche=>3, -peut_etre_selectionne=>0, -peut_etre_redimensionne=>0, -colWidth=>'automatic', bg_quand_selectionne=>'blue')

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par clmin Voir le message
    - Comment ne visualiser que quelques chiffres après la virgule sans modifier le tableau de données?
    Cela n'a rien avoir avec le module Tk::TableMatrix. C'est à toi de traiter ta chaine directement avec les fonction de Perl. Un indice, utilise sprintf.

    Citation Envoyé par clmin Voir le message
    - Rendre certaines cellules non selectionnables. Le (très utile) tuto de djibril montre un tableau avec cette option, mais je ne comprend pas quelle partie du code correspond à cela.
    Il faut créer un tag qui aura la propriété non modifiable., puis tu l'appliques aux cellules que tu souhaites

    Citation Envoyé par clmin Voir le message
    - Choisir les couleurs des cellules selectionnées. (J'ai essayé -invertselected=>1 et -invertselected=>'on' dans les param généraux du tableau, mais cela semble sans effets.)
    Il y a deux tag spéciaux pour cela (sel et active) qui s'appliqueront à toutes les cellules du tableau.


    Citation Envoyé par clmin Voir le message
    - Peut-on récupérer la valeur d'une cellule sans passer par le tableau $variable d'entrée?
    Oui, via la méthode get et les indices des cellules, d'autres méthodes en fonction de ce que tu fais.

    Citation Envoyé par clmin Voir le message
    - Taille de la colonne automatique selon ce qui a dedans (AutoFit ou qqc comme ça).
    Non, je ne pense pas qu'il y ait une sorte d'autofit.

    Citation Envoyé par clmin Voir le message
    - Empêcher le redimensionnement de certaines lignes/colonnes.
    Non, mais tu peux donner une largeur ou hauteur de ton choix à chaque ligne et colonne

    Voici un code d'exemple :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #!/usr/bin/perl
    use warnings;
    use strict;
    use Tk;
    use Tk::TableMatrix;
     
    my $fenetre_principale = MainWindow->new;
    my $arrayVar           = {};
    for my $row ( 0 .. 7 ) {
    	for my $col ( 0 .. 7 ) {
     
    		# Arrondit des nombres
    		#$arrayVar->{"$row,$col"} = sprintf '%.2f', $col+1.5487542158765235*$row;
    		$arrayVar->{"$row,$col"} = $col + 1.5487542158765235 * $row;
    	}
    }
    my $tableau = $fenetre_principale->Scrolled(
    	'TableMatrix',
    	-variable   => $arrayVar,
    	-selectmode => 'extended',
    );
     
    $tableau->tagConfigure(
    	'non-modifiable',
    	-bg    => 'red',
    	-state => 'disabled',
    );
     
    # La cellule 3,3 est désactivée, non éditable
    $tableau->tagCell( 'non-modifiable', "3,3" );
     
    # Les cellules actives auront une couleur green
    $tableau->tagConfigure( 'active', -background => 'green' );
     
    # Les cellules sélectionnées auront une couleur brown
    $tableau->tagConfigure( 'sel', -background => 'brown' );
     
    # J'affiche la valeur de la cellule 4,2
    print 'Cellule 4,2 : ', $tableau->get('4,2'), "\n";
     
    # Je mets le colonne 2 à une largeur de 50 pixels
    $tableau->colWidth( 1, 50 );
     
    $tableau->pack( -expand => 1, -fill => 'both' );
     
    MainLoop;

  5. #5
    Membre confirmé
    Femme Profil pro
    Ingénieur Recherche
    Inscrit en
    Octobre 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Ingénieur Recherche

    Informations forums :
    Inscription : Octobre 2014
    Messages : 69
    Par défaut
    Merci beaucoup!
    Dommage pour l'autofit, mais j'ai fais qqc en fonction du nombre de caractères max ds la colonne. Pas parfait, mais ça marche plutôt bien.
    Merci encore!

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

Discussions similaires

  1. mise en page dans un textarea
    Par Balbuzard dans le forum Langage
    Réponses: 3
    Dernier message: 21/02/2009, 12h50
  2. [TinyMCE] Mise en page
    Par junoreactor dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 21/02/2008, 20h59
  3. Mise en page dans word
    Par mimi1255 dans le forum Word
    Réponses: 1
    Dernier message: 12/06/2007, 09h17
  4. [MySQL] retour à la ligne et mise en page dans textarea
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/03/2007, 22h41
  5. mise en page dans le body d'un mailto
    Par cheers94wow dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/06/2006, 17h02

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