c-想要使用g_timeout_add.必须运行一个油嘴滑舌的主循环



我正试图使用g_timeout_add(timevalue,Func,在Func中传递的值)添加一个回调,以获取一些状态或在timevalue之后打印一些内容。

我看不到它。我也必须调用主循环吗?或者任何其他类型的函数使其工作?

g_timeout_add是用于创建将在主循环中使用/处理的GSouce的包装器。通常运行GMainLoop,或者在更复杂的情况下,在循环中调用g_main_loop_iteration(或类似的)。

是的,您还需要一个主循环。这可以是隐式的(例如,在为您创建的gtk+应用程序中),也可以是显式的(使用g_main_loop_new和g_main_lop_run),即:

loop = g_main_loop_new (NULL, TRUE)
g_timeout_add ( ... )
g_main_loop_run (loop)
...

相关内容

  • 没有找到相关文章

最新更新