【发布时间】:2014-01-02 01:14:17
【问题描述】:
我正在尝试使用 g_timeout_add ( timevalue , Func, 在 Func 中传递的值) 添加一个回调来获取一些状态或在 timevalue 之后打印一些东西。
我看不到。我还必须调用主循环吗? 或者任何其他类型的功能让它工作?
【问题讨论】:
我正在尝试使用 g_timeout_add ( timevalue , Func, 在 Func 中传递的值) 添加一个回调来获取一些状态或在 timevalue 之后打印一些东西。
我看不到。我还必须调用主循环吗? 或者任何其他类型的功能让它工作?
【问题讨论】:
g_timeout_add 是一个用于创建GSouce 的包装器,它将在主循环中使用/处理。所以通常会运行GMainLoop,或者在更复杂的情况下,会在循环中调用g_main_loop_iteration(或类似的)。
【讨论】:
是的,您还需要一个主循环。这可以是隐式的(例如在为您创建的 gtk+ 应用程序中),也可以是显式的(使用 g_main_loop_new 和 g_main_loop_run),即:
loop = g_main_loop_new (NULL, TRUE)
g_timeout_add ( ... )
g_main_loop_run (loop)
...
【讨论】: