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 Python Discussion :

Utilisation de glib et g_timeout_add?


Sujet :

GTK+ avec Python

  1. #1
    Membre actif
    Utilisation de glib et g_timeout_add?
    Bonjour à tous

    je cherche à créer un label gtk qui se rafraichit toutes les x secondes.
    Le problème sur lequel je suis tombé est que gtk.main() est une boucle (si j'ai bien compris) dans un thread (main thread) qui ne supporte pas les interruptions d'un autre thread (le timer de la boucle).
    D'après ce que j'ai compris au travers de diverses lectures dans les forums et autres, il faudrait que j'utilise la fonction g_timeout_add qui est fourni par glib (GMainLoop) pour insérer un callback.

    Le problème est que je ne sais pas comment accéder à cette fonction, ni même si elle est dans la librairie glib de pyGTK...
    Si quelqu'un peu m'aider à comprendre comment faire cela serait super.
    "Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux."
    Benjamin Franklin

  2. #2
    Invité
    Invité(e)
    bien sûr que c'est dispo
    un tour dans la doc de pygtk t'aurait suffit : http://www.pygtk.org/docs/pygobject/...b--timeout-add

    Et un tour sur google t'aurait donné la réponse :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import glib
    [...]
    glib.timeout_add_seconds(mon_timeout, ma_fonction)


    La prochaine fois fait un effort, je ne pense pas que les gens prendront la peine de répondre pour des questions dont tu peux trouver la réponse par toi-même en cherchant un peu

  3. #3
    Membre actif
    Citation Envoyé par harddisc Voir le message
    un tour dans la doc de pygtk t'aurait suffit : La prochaine fois fait un effort, je ne pense pas que les gens prendront la peine de répondre pour des questions dont tu peux trouver la réponse par toi-même en cherchant un peu
    Bonjour Harddisc, cela fait seulement deux jours que je découvre l'univers de python et je dois dire que depuis deux jours, je n'ai fait que lire: forums, docs, etc, faire des essais et bien souvent pour me retrouver dans des impasses malgré la bonne volonté de google
    Je découvre donc grâce à toi ce que sont les pyGObject et comprends qu'ils ont un rapport avec GTK et je t'en remercie.
    "Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux."
    Benjamin Franklin

  4. #4
    Invité
    Invité(e)
    PyGTK c'est l'ancien binding gtk-python. Il fonctionne bien mais n'est plus maintenu.
    Maintenant les bindings GTK sont générés automatiquement (c'est bien mieux), donc pygobject remplace pyGTK, qui était fait à la main. En plus, il permet bien plus de chose.
    En prime, la doc est mieux et là tu as un super tutoriel : https://python-gtk-3-tutorial.readth...est/index.html

    Bonne chance.

  5. #5
    Modérateur

    Plus exactement, si tu programmes pour GTK 2, utilise pyGTK, si tu programmes pour GTK 3, utilise pyGObject.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)