Вопрос

Я новичок в программировании GTK+.Я наткнулся на API под названием g_main_loop().Я использовал его в своем коде, но до сих пор не знаю, как именно это работает.Может кто-нибудь объяснить g_main_loop() с небольшим фрагментом кода?

Это было полезно?

Решение

Я рекомендую чтение документации, начиная с связанной функции g_main_loop_new().

По сути, предоставление glib «владения» основным циклом вашего приложения упрощает поддержку таких вещей, как «подключаемые» источники событий;где ваше приложение прослушивает как (например) события, поступающие от виджетов GTK+, так и сетевой сокет или канал Unix.Это вещи, которые необходимо соединить вместе на довольно низком уровне в основном цикле приложения, и если glib владеет этими частями, это упрощает задачу.

Существуют гибкие структуры данных (например, каналы ввода-вывода), которые совместимы с основным циклом и позволяют добавлять элементы к набору входных данных, которыми управляет цикл.Для GTK+ соединения выполняются автоматически, а основной цикл GTK+ (gtk_main()) обертывает glib.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top