GTK+ Tips。

時間のかかる処理の途中で,半ば明示的にGUIを更新する方法。GTK+ リファレンスマニュアルから。

/* あれやこれや… */
/* ウィジェットの更新ひとしきり。 */
while(gtk_events_pending()) {
    gtk_main_iteration();
}
/* あれやこれや… */

1つのイベント ハンドラ内で引っかかっている間は通常, GUIの更新やタイムアウト処理などは,そのあとにやるべきものとして溜まってしまう。↑の記述は,溜まったイベントがあれば,それらを順次実行させる。ループ内でプログレス バー等の進捗表示を逐次更新したいときに便利。