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 :

Interface graphique GTK2


Sujet :

Interfaces Graphiques Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Interface graphique GTK2
    Bonjour amis developpeurs,

    Je me suis initié à la librairie graphique GTK2 pour developper une petite application reseau en perl. Il existe quelques cours sur ce sujet mais il est parfois dur de trouver la solution à son probleme.

    Ma question est la suivante:

    Mon interface possede sur sa page principale plusieurs zone (Gtk2::Frame) dans lequelles son inclus quelques labels et info reseaux rafraichies en temps réél.
    J'aimerais savoir s'il est possible de double cliquer n'importe où dans une de ces zones et d'ouvrir une nouvelle page dans la même fenetre. Chacune de ces zones m'emmenera bien sur dans une page differente.

    Vous remerciant d'avance,

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tout d'abord : ON NE POSTE PAS DANS CE FORUM, on poste dans les sous-forums, comme c'est clairement indiqué en haut de ce forum... Ton prochain message ici sera supprimé sans avertissement (à part un MP), pour celui-ci je me contente de le déplacer dans le sous-forum Module.

    Ensuite ce que tu demandes est tout à fait possible a priori, il suffit de lier le double-clic à un callback qui crée une nouvelle sous-fenêtre dans la frame où l'on a cliqué.

    --
    Jedaï

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oups désolé je suis parfois tête en l'air...heureuseument qu'il y a des gens plus intelligents que moi pour me rappeler mes erreurs.

    Merci beaucoup pour ta réponse mais elle ne m'a pas trop aidé.

    La solution idéale semble être le MDI (Multi-Document Interface) qui en fait est appelé plus couramment fenêtre à onglets. Cette interface peut être créer à partir de Gtk2::Notebook et vu qu'il y a moyen de supprimer les onglets en haut de la page, l'utilisateur n'y voit que du feu. Je pourrais donc créer plusieurs pages au sein de ma fenetre.

    Par consequent sur ma page principale, j'ai donc créer plusieurs EventBox (ce qui va permettre de detecter le double clic) dans lequel sont inclus mes Frames.

    Mon nouveau probleme:

    J'aurais besoin de recuperer le nom de la frame sur laquelle j'ai cliqué, pour pouvoir ensuite choisir la page sur laquelle je souhaite me diriger.
    Pour l'instant j'arrive à recuperer le widget frame contenu dans la boite à evenement (get_children) mais je n'arrive pas à recuperer les propriétés de ce widget frame (le label par exemple). J'ai une piste sur la fonction child_get (Gtk2::Container) mais je n'arrive pas trop à l'utiliser.

    Voici la portion de code qui pose probleme:
    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
     
    foreach $rdr (keys %IDEN)
    {
       #Creation de la boite à evenement qui va contenir la frame
      ${"EventBox$rdr "} = Gtk2::EventBox->new;
      ${"EventBox$rdr "}->add_events (['button-press-mask']);
      ${"EventBox$rdr "}->signal_connect ('button-press-event' => 
        sub {
            my ($widget, $event) = @_;
            my @child= $widget->get_children;
            ????????????????????????????????????????????
            my @proprietes = $widget->child_get(?????);
            ????????????????????????????????????????????
            $Notebook->set_current_page ( $Notebook->page_num (??label recuperé dans @proprietes??) );
        }
      );
     
      #Creation de la frame dans la boite à evenement
      ${"Frame$rdr "} = Gtk2::Frame->new( "$rdr " ) ;
      ${"EventBox$rdr "}->add (${"Frame$rdr "});
     
       .........
    }
    D'avance merci à tout specialiste de Gtk2 pour tout aide

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/03/2008, 16h19
  2. Réponses: 2
    Dernier message: 29/03/2004, 18h29
  3. Application multiplateforme avec interface graphique
    Par TNorth dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 31/01/2004, 18h55
  4. [Kylix] Interface graphique pour lognes de commande linux
    Par lecharcutierdelinux dans le forum EDI
    Réponses: 6
    Dernier message: 29/08/2003, 10h20
  5. plugin interface graphique
    Par jocelyn dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 13/08/2003, 09h49

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