2010-01-11 41 views
4

我是GTK +编程新手。我遇到了一个名为g_main_loop()的API。我在代码中使用了它,但我仍然不知道它的工作原理。有人可以用小代码段解释g_main_loop()吗?g_main_loop如何在gtk编程中使用?

+1

这很容易使用,因为你可能知道。以下是事件循环的一般工作方式:http://en.wikipedia.org/wiki/Event_loop – Tobu 2010-01-11 15:14:42

回答

2

我推荐reading the documentation,从链接功能g_main_loop_new()开始。基本上,让glib“拥有”你的应用程序的主循环可以更容易地支持诸如“可插拔”事件源之类的东西;您的应用程序在哪里侦听(例如)来自GTK +小部件的事件,以及网络套接字或Unix管道。这些东西需要在应用程序的主循环中以相当低的级别连接在一起,并让glib拥有这些部分使其更容易。

有glib数据结构(如IO channels)与主循环兼容,并允许您添加事件到循环管理的一组输入。对于GTK +,连接是自动的,GTK +的主循环(gtk_main())包装了glib。