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

GTK+ Discussion :

[Perl] Accès à un widget fils en particulier


Sujet :

GTK+

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut [Perl] Accès à un widget fils en particulier
    Bonjour,
    Le problème est le suivant ;
    j'initialise une "vertical box" à l'intérieur d'une fonction :

    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
     
    sub init_guicommun{
     
    #etc..
     
    $vb1 = Gtk::VBox->new($false,0);
    $vb1->set_usize(130,350);
     
    my $combo_modele = Gtk::Combo->new();
     
    $combo_modele->set_popdown_strings( @tab_modele );
    $frame_modele->add($combo_modele);
    $vb1->add($frame_modele);
     
    # etc..
    }

    Ensuite je cherche à récupérer le contenu d'un widget fils de $vb1 qui est retourné par la
    fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $modele=$vb1->combo_modele->entry->get_text();
    Erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't locate object method "combo_modele" via package "Gtk::VBox" at guicommun.pm line 242
    Je suis obligé de passer par le widget "père" puisque c'est l'objet que me retourne ma fonction, je ne connais pas , (et n'ai pas trouvé.. malgré de nombreuses recherches) la méthode générique qui me permet d'accèder à ce widget fils connaissant le père.
    Toute aide est vivement appréciée

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Il existe la méthode $container->get_children mais le plus simple est de garder une référence sur ton widget

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut
    Merci pour ta réponse ultrasonique

    En effet je crois que je vais garder un tableau de hash avec les références de tous mes widgets.. après avoir vu comment Glade gérait son code c'est aussi de cette manière là qu'il fait appel à posteriori aux widgets

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par psychonaute Voir le message
    En effet je crois que je vais garder un tableau de hash avec les références de tous mes widgets.. après avoir vu comment Glade gérait son code c'est aussi de cette manière là qu'il fait appel à fortiori aux widgets
    C'est une solution (relativement simple à mettre en place en Perl), mais le top est de faire de la POO et dans ce cas il n'y a plus de soucis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class MyWindow
    {
      private MyMenu;
      private MyCombobox;
      private MyToolbar;
      /* ... */
    }

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

Discussions similaires

  1. [Perl:TK] le widget notebook et la disposition des onglets
    Par xodus_fr dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 24/10/2012, 23h39
  2. Problème d'accès à un widget
    Par belgariel dans le forum Débuter
    Réponses: 3
    Dernier message: 26/05/2011, 22h54
  3. [Toutes versions] Interdire l'acces à un site Fils sauf pour un seul groupe
    Par hassine dans le forum SharePoint
    Réponses: 23
    Dernier message: 20/09/2010, 14h11
  4. Acces Aux Widgets !
    Par A_B dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 30/03/2007, 10h18
  5. [Xpath/XSLT]Acces a un fils
    Par Ludo_xml dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 05/07/2006, 16h56

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