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 :

widget configure depuis hash


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut widget configure depuis hash
    Bonjour,
    j'ai un problème lorsque je fais "controle A" dans mon appli.
    en effet j'ai binder la fenêtre principale avec ce raccourcis clavier afin qu'il simule une sélection multiple de différent frames. malheureusement il me met :
    Tk::Error: Can't call method "configure" on an undefined value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        $fenetre_principale->bind( '<Control-Key-a>', \&selectAll);
    donc pour faire simple j'ai deux table de hash

    un fichier arrive
    une clef est ajouté à ma première table de hash
    je rajoute ensuite les clef img, label, frame, row, col et sel au dernier niveau de hash.
    label, frame et img contienne des widgets.
    je me retrouve avec quelque chose comme ça :

    C:/MON_FIC=>{
    "img"=>$widget1,
    "frame"=>"$widget2",
    "label"=>$widget3,
    "row"=>0,
    "col"=>0,
    "sel"=1
    }

    au déclenchement de l’évènement je parcoure toute mes clefs et je lance ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $listFilles{$k}->{"label"}->configure( qw/ -background #2896ad / );
    Alors pourquoi qu'il veux pas
    Pourquoi faire simple quand on peut faire compliqué.

  2. #2
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Tk::Error: Can't call method "configure" on an undefined value
    check ce qu'il y a dans ton hash !

  3. #3
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    voilà le resultat d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print dumper $lisFiles{$cle}
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    $VAR1 = {
              'row' => 0,
              'col' => 0,
              'sel' => '0',
              'label' => bless( {'_TkValue_' => '.frame1.frame.pane.frame.frame1.label1'}, 'Tk::Label' ),
              'frame' => bless( {
                                  '_After_' => {},
                                  '_Destroy_' => [
                                                   'ConfigSpecs',
                                                   'Configure',
                                                   bless( [
                                                            sub { "DUMMY" },
                                                            $VAR1->{'frame'}
                                                          ], 'Tk::Callback' ),
                                                   '_names_'
                                                 ],
                                  '_names_' => {
                                                 'label' => 1
                                               },
                                  'Configure' => {
                                                   '-background' => 'white',
                                                   '-foreground' => 'Black'
                                                 },
                                  '_TkValue_' => '.frame1.frame.pane.frame.frame1',
                                  'ConfigSpecs' => {
                                                     '-fg' => '-foreground',
                                                     '-background' => [
                                                                        [
                                                                          'SELF'
                                                                        ],
                                                                        'background',
                                                                        'Background',
                                                                        'SystemButtonFace'
                                                                      ],
                                                     '-label' => [
                                                                   'METHOD',
                                                                   undef,
                                                                   undef,
                                                                   undef
                                                                 ],
                                                     '-bg' => '-background',
                                                     '-foreground' => [
                                                                        [
                                                                          'PASSIVE'
                                                                        ],
                                                                        'foreground',
                                                                        'Foreground',
                                                                        'Black'
                                                                      ],
                                                     'DEFAULT' => [
                                                                    'SELF'
                                                                  ],
                                                     '-labelPack' => [
                                                                       'METHOD',
                                                                       undef,
                                                                       undef,
                                                                       undef
                                                                     ],
                                                     '-labelVariable' => [
                                                                           'METHOD',
                                                                           undef,
                                                                           undef,
                                                                           undef
                                                                         ]
                                                   }
                                }, 'Tk::Frame' ),
              'img' => bless( {'_TkValue_' => '.frame1.frame.pane.frame.frame1.label'}, 'Tk::Label' )
            };
    alors j'ai trouvé une solution (qui ne me plait pas car je ne la comprend pas)
    le probleme est que quand je par cour de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach $k(keys %listFiles){
        foreach $k2 (keys %{$listFiles{$k}){
           print $listFiles{$k}{$k2}; #donne ""
    # ou que je fais ça :
           print $listFiles{$k}->{$k2}; #donne ""
        }
    }
    par contre lorsque je fais ça, ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        foreach $ke(keys %listFiles)
        {
            while( my ($k,$v) = each(%{$listFiles{$ke}})){
                if($k eq "img" || $k eq "frame" || $k eq "label") 
                {
                    $v->configure( qw/ -background #2896ad / );
                }
            }
        }
    Si quelqu'un peut m'expliquer la différence entre 1 les deux affichage :
    $Hash{$k}{$k2} et $Hash{$k}->{$k2}

    ensuite pourquoi là mon code fonctionne et pas celui du haut.
    Merci
    Pourquoi faire simple quand on peut faire compliqué.

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    y a moyen de tester ton prog ?

  5. #5
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    euh oui bien sure j'ai passer outre et continuer de la manière qui fonctionne donc là l'interface touche a peu près a ça fin je zip le projet et le post ici (comme ça ce coups ci tu auras les images)

    Par contre désolé j'ai pas encore tout commenter et tout fais bien le menage
    Fichiers attachés Fichiers attachés
    Pourquoi faire simple quand on peut faire compliqué.

  6. #6
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    up SVP j'suis curieux de comprendre pourquoi
    Pourquoi faire simple quand on peut faire compliqué.

  7. #7
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    désolé même pas eu le temps de tester. Je m'y plonge dès que possible !

  8. #8
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    d'accord c'est pas forcement urgent vu que j'ai trouver une solution mais si ça peut me permettre de comprendre pour l'avenir.
    merci
    Pourquoi faire simple quand on peut faire compliqué.

Discussions similaires

  1. [Débutant] Récupérer un fichier de configuration depuis la base de donnés
    Par amine1980 dans le forum C#
    Réponses: 1
    Dernier message: 27/09/2012, 13h19
  2. Créer des widgets Dojo depuis ZF
    Par Yogui dans le forum Zend_Form
    Réponses: 2
    Dernier message: 10/07/2008, 12h31
  3. [Configuration] Fonction mail fonctionne pas depuis ma machine !
    Par tomix81 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/10/2007, 02h33
  4. Creer est afficher un widget depuis un Callback ?
    Par PereCastor dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 13/01/2007, 11h10
  5. Exporter des widgets depuis une DLL
    Par zebiloute dans le forum wxWidgets
    Réponses: 5
    Dernier message: 31/07/2006, 09h14

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