超时、IO 和 Idle 函数

超时 Timeouts

你也许想知道如何让 GTK 在gtk_main中做有用的工作。你有几种选择。用下面的函数,你可以创建一个超时函数,每隔一段时间该函数被调用。

gint gtk_timeout_add( guint32     interval,
                      GtkFunction function,
                      gpointer    data );

第一个参数是以毫秒为单位的你的函数被调用的时间间隔。第二个参数是你想调用的函数。第三个参数是传递给回调函数的数据。返回值是一个整型的标记,该标记可以用于停止超时,用函数:

void gtk_timeout_remove( gint tag );

你也可以通过从回调函数返回零或 FALSE 来停止超时函数。很显然,如果你想让你的函数继续被调用,应该返回一个非零值,如 TRUE。

回调函数应该声明为:

gint timeout_callback( gpointer data );