2010-01-11 7 views
4

Je suis nouveau à la programmation GTK +. Je suis tombé sur une API appelée g_main_loop(). Je l'ai utilisé dans mon code mais je ne sais toujours pas comment cela fonctionne exactement. Quelqu'un peut-il expliquer g_main_loop() avec un petit fragment de code?Comment g_main_loop fonctionne dans la programmation gtk?

+1

Il est assez simple à utiliser comme vous le savez probablement. Voici comment fonctionnent les boucles d'événements en général: http://en.wikipedia.org/wiki/Event_loop – Tobu

Répondre

2

Je recommande reading the documentation, en commençant par la fonction liée g_main_loop_new(). Fondamentalement, laisser glib "propre" boucle principale de votre application, il est plus facile de soutenir des choses comme des sources d'événements "pluggable"; où votre application écoute à la fois (par exemple) les événements provenant de widgets GTK +, et un socket réseau ou un tube Unix. Ce sont des choses qui doivent être reliées entre elles à un niveau assez bas dans la boucle principale d'une application, et laisser ces choses à la main rend ces choses plus faciles.

Il existe des structures de données glib (comme IO channels) qui sont compatibles avec la boucle principale et permettent d'ajouter des choses à l'ensemble des entrées que la boucle gère. Pour GTK +, les connexions sont automatiques et la boucle principale de GTK + (gtk_main()) enveloppe les fichiers glib.

Questions connexes