c - 使用“g_spawn_async_with_pipes()”时GTK3.0 GUI冻结

时间:2011-07-23 12:14:52

标签: c user-interface asynchronous gtk freeze

我在GTK3.0 / C for linux中为ffmpeg(转换内容:视频 - > mp3)编写了一个非常简单的前端。为了产生ffmpeg,我使用g_spawn_async_with_pipes()。我认为这是在没有GUI冻结的情况下执行这样的东西的正确方法 - 但它确实如此。所以 - 我怎么能防止它冻结 - 所以我可以说。显示一个微调器?

1 个答案:

答案 0 :(得分:0)

您可能需要添加“

”之类的内容
    while (gtk_events_pending ()) {
      gtk_main_iteration_do (FALSE);
}

也就是说,让GTK处理待处理事件(比如绘制UI)。 我想你正在用g_io_add_watch处理ffmpeg的输出 或类似的。