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?
Répondre
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.
- 1. GNU/Emacs pour la programmation gtk +
- 2. Programmation d'un événement dans GTK (avec Gtk2Hs)
- 3. Que signifie "->" en programmation C, programmation Gtk +?
- 4. GTK + GTkStatusIcon ne fonctionne pas dans Win32
- 5. Insertion de nouvelles lignes dans un widget GtkTextView (programmation GTK +)
- 6. Gtkmm - "Gtk :: DrawingArea" dans "Gtk :: ScrolledWindow"?
- 7. Gtk # Thèmes, GTK-Wimp
- 8. Utiliser FileChooserButton dans GTK +
- 9. Comment fonctionne l'AutoHide de la barre des tâches (par programmation)
- 10. setLocationListener ne fonctionne pas dans la programmation gps Blackberry
- 11. Comment cacher une fenêtre Gtk #?
- 12. GTK: Comment régler la hauteur d'une VBox?
- 13. Transfert de la programmation Web à la programmation GUI?
- 14. Comment empaqueter la dépendance gtk # avec l'exécutable
- 15. Comment trouver un bug dans GTK +
- 16. gtk + Fermer la deuxième fenêtre
- 17. Comment obtenir la coloration syntaxique de GTK dans GEdit?
- 18. Comment faire deux éléments dans gtk ont la même taille?
- 19. Comment définir la couleur de chaque widget dans GTK
- 20. Comment faire l'arithmétique Gtk TextIter
- 21. Détruire Windows dans GTK #
- 22. Comment rafraîchir une image dans gtk?
- 23. GTK + souligne - physiquement douloureux
- 24. 'gdk_get_default_root_window' Équivalent dans Gtk #?
- 25. Compiler C/GTK dans Eclipse
- 26. Empiler des widgets dans Gtk +
- 27. Localisation en arabe dans GTK
- 28. Accès au widget dans GTK +
- 29. comment démarrer dans la programmation réseau p2p?
- 30. comment utiliser session dans la programmation iphone?
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