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 du Club
    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
    Points : 41
    Points
    41
    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 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 19 793
    Points : 499 024
    Points
    499 024
    Par défaut
    Bonjour,

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

  3. #3
    Membre du Club
    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
    Points : 41
    Points
    41
    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 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 19 793
    Points : 499 024
    Points
    499 024
    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 du Club
    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
    Points : 41
    Points
    41
    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