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+ avec C & C++ Discussion :

GtkWidget qui peut contenir des widgets crées et des formes


Sujet :

GTK+ avec C & C++

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut GtkWidget qui peut contenir des widgets crées et des formes
    Salut a tous ,
    je publié mon problème en forum-gtk, mais malheureusement je pas eu aucune réponse
    j'espère bien que vous allez m'aider

    Donc mon problème est le suivant:

    j'ai crée des widgets personnalisés, qui représentent dans mon application les équipements réseaux (Pc, Switch .......). je les a placé dans un "fixed widget"(gtk_fixed_new()) , afin de pouvoir déplacer ces equipements

    Mon problème est que j'ai besoin de représenter les connexions entre ces équipements, c 'est a dire que je dois représenter les câbles (peuvent être représente par des lignes) entres ces équipements (mes propres widgets) .

    j'ai pensé à "cairo_line_to" ou "gdk" ,mais je sais pas comment faire avec un " fixed widget"


    S.V.P est ce que quelqu'un entre vous connais une solution pour mon problème j'attends vos propositions
    vraiment c'est très très urgent
    j'ai besoin de votre aide



    Merci d'avance

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    Pour dessiner avec Cairo, il faut récupérer le contexte associé au Fixed et dessiner dessus. Après, je m'y connais pas beaucoup plus...

    Jette un œil ici, ça pourrait t'aider :
    http://www.gnomejournal.org/article/...airo-and-gtk28


    Il y a aussi les widgets GooCanvas et FlowCanvas qui pourraient correspondre à ce que tu essaie de faire (voir ce sujet)

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut
    Bonjour, merci pour votre réponse
    Le problème ce que , en récupérant le contexte cairo associé a fixed et en essayant de dessiner une ligne avec les instructions suivantes ,avec (fixed =gtk_fixed_new()):

    cairo_t *cr;
    cr = gdk_cairo_create(GDK_DRAWABLE(fixed->window));

    il m'affiche:

    gdk_cairo_create: assertion 'GDK_IS_DRAWABLE <drawable>' failed


    Quel est le probléme ? Est ce que vous pouvez m'aidez
    merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Il faut que ta fenêtre soit affichée pour qu'elle ait une GdkWindow associée.

  5. #5
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Pour reprendre ce qu'a dit teuf13, le mieux est de connecter un callback au signal "expose-event" du Fixed, et de récupérer le contexte dans ce callback.

    Un exemple (en Python) :
    http://www.developpez.net/forums/d75...a/#post4364018
    => j'associe la fonction "ev_expose" au signal "expose-event", et dans cette fonction, le récupère le contexte (je le refais à chaque fois car ça permet de gérer les redimensionnements) et je fais le tracé proprement dit dans la fonction "draw" (dont le code aurait tout à fait pu être placé directement dans la fonction "ev_expose")


    J'espère que ça pourra t'aider

    -

  6. #6
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut
    Salut ,
    je fais ce que vous venez de dire, j'ai connecté un callback au signal "expose-event" et c'est bien marché
    1000 merci pour vous , monnomamoi et teuf13 , c'est trés gentil de votre part
    vraiment GTK+ est très vague , j'espère que je vais y arriver

  7. #7
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    Content que tu aies pu résoudre ton problème !

    N'oublie pas de marquer le sujet comme [réglé] en cliquant sur le bouton en bas.

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

Discussions similaires

  1. Gestion de l'état des widgets Tkinter par des Threads
    Par piokml dans le forum Général Python
    Réponses: 3
    Dernier message: 18/10/2012, 11h00
  2. Réponses: 2
    Dernier message: 26/10/2011, 11h47
  3. Réponses: 1
    Dernier message: 10/03/2011, 10h08
  4. Réponses: 2
    Dernier message: 24/03/2010, 17h43
  5. Réponses: 5
    Dernier message: 21/01/2010, 15h35

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