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 :

perl tk:tree display tous les elements d'un arbre


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 35
    Points : 42
    Points
    42
    Par défaut perl tk:tree display tous les elements d'un arbre
    Bonjour,

    Voici mon arbre:



    Je souhaiterai avoir la liste de tous les éléments de cet arbre sans avoir à selectionner celui-ci.

    Si je selectionne l'arbre en entier et que je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $arbre->info('selection')
    j'ai ce que je souhaite, à savoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $VAR1 = 'listCollections 1@test0';
    $VAR2 = 'listCollections 1@test0'@test0.0;
    $VAR3 = 'listCollections 1@test0'@test0.0@test0.0.0;
    $VAR4 = 'listCollections 1@test0'@test0.0@test0.0.1;
    $VAR5 = 'listCollections 1@test0'@test0.1;
    ...

    Cependant, j'aimerai avoir le meme résultat sans avoir à selectionner tout l'arbre (c'est a dire avoir un equivalent du get( 0, 'end' ) des listbox, mais pour les arbres)
    Comment faire?

    J'espère avoir donné suffisament précis.

  2. #2
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Peux-tu nous mettre un exemple basique que l'on puisse tester, qui nous génère un tree

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 35
    Points : 42
    Points
    42
    Par défaut
    Voici un exemple basique de création d'un tree

    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
    47
    48
    49
    #!/opt/perl_5.8.8/bin/perl -w
    use warnings;
    use strict;
    use Tk;
    use Tk::Tree;
    use Data::Dumper;
     
    my $mw = Tk::MainWindow->new();
    $mw->minsize( 400 , 200 );
    my $Frame = $mw->Frame()->pack();
     
    #liste des elements de l'arbre avec la hierarchie (en dur)
    my @elements=('listCollections',
    'listCollections@test0',
    'listCollections@test0@test0.0',
    'listCollections@test0@test0.0@test0.0.0',
    'listCollections@test0@test0.0@test0.0.1',
    'listCollections@test0@test0.1',
    'listCollections@test2',
    'listCollections@test2',
    'listCollections@test0@test2.0'
    );
     
    #creation du widget arbre
    my $tree = $Frame->Scrolled(
    		    'Tree',
    		    -highlightthickness => 0,
    		    -relief             => 'flat',
    		    -scrollbars         => 'osoe',
    		    -borderwidth        => 1,
    		    -separator          => '@',
    		    -drawbranch         => 'true',
    		    -indicator          => 'true',
    		    -width		=> '50',
    		    -height		=> '10',
    		    -selectborderwidth  => '0',)->pack();
     
    #creation de l'arbre
    $tree->autosetmode;
    foreach(@elements){
    	my @chemin=split(/\@/,$_);
    	my $test = $tree->info( 'exists', $_ );
    	$tree->add($_, -text => $chemin[-1], -itemtype, 'text') unless( $test );
    }
     
    #voir le nom de l'element selectionné
    $tree->bind('<Button-1>',sub{ print Dumper($tree->info( 'selection' ))."\n" });
     
    MainLoop();

    Je voudrai avoir acces au nom de tous les éléments de l'arbre sans avoir a utiliser @elements (mon arbre est crée autement).

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Cette méthode pourra vous donner les informations voulues : child_entries. Regardez la documentation de Tk::Tree.

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

Discussions similaires

  1. Translation de tous les elements d'un JPanel
    Par dideux dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/04/2007, 10h13
  2. selectionner le count et tous les elements d'une table
    Par toddy_101 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 28/12/2006, 19h12
  3. Récupérer tous les elements d'un DIV
    Par arnolem dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/07/2006, 15h13
  4. recuperer tous les elements d'une JList
    Par ejaub dans le forum Composants
    Réponses: 2
    Dernier message: 01/02/2006, 23h12
  5. [JDBC]Boucle sur tous les éléments du ResultSet
    Par Terminator dans le forum JDBC
    Réponses: 1
    Dernier message: 22/09/2005, 19h30

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