The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Вход в главный цикл

После того как все установлено, остаются выполнить два шага: вы должны показать окно на экране и ждать ввода пользователя.
  gtk_widget_show_all(window);
  
  gtk_main();
  return 0;

"gtk_widget_show_all()" рекурсивно вызывает "gtk_widget_show()" для контейнера и всех его детей. Следующий код будет иметь тот же эффект в данном случае:

  gtk_widget_show(label);
  gtk_widget_show(button);
  gtk_widget_show(window);

Необходимо показать каждый виджет, который вы хотите видеть на экране. Противоположная операция называется "gtk_widget_hide()"; виджеты начинают свою жизнь спрятанными, и могут быть перезапрятаны/перепоказаны любое количество раз. Показывание все дочерних виджетов перед показом самого внешнего виджета является хорошей практикой; иначе пользователь сначала будет видеть появляющийся контейнер, а затем появляющихся детей. Виджеты на самом деле не показываются на экране до тех пор, пока их родитель не виден. Исключением из правила является GtkWindow, так как он не имеет родителя.

Как только ваши виджеты показались, вы захотите подождать, пока пользователь не сделает с ними что-нибудь. "gtk_main()" входит в основной цикл Gtk+; основной цикл управляется событиями. То есть, пользовательские действия побуждают события, которые, в общем, заставляют сигналы испускаться, и затем вызываться обработчики. "gtk_main()" циклится бесконечно, дожидаясь и отвечая на ввод пользователя. Главный цикл более детально описан в разделе 3.4. События и их отношение к главному циклу описаны в разделе 10.5.


Linux Land
2000-09-15



Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру