Глава 33. XML Быстрая справка (Cheat Sheets) ============================================ Введение -------- GTK использует XML-файлы в формате GtkBuilder для описания интерфейсов. Это позволяет отделить дизайн UI от кода. Основы GtkBuilder XML --------------------- - Корневой элемент: `` - Основные виджеты описываются как дочерние элементы `` - Атрибут `class` определяет тип виджета (например, GtkWindow, GtkButton) - Атрибут `id` задаёт уникальный идентификатор для ссылки из кода Пример простого окна с кнопкой ------------------------------ .. code-block:: xml Пример окна Нажми меня Загрузка интерфейса из XML -------------------------- .. code-block:: c GtkBuilder *builder = gtk_builder_new_from_file("interface.ui"); GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder, "main_window")); GtkWidget *button = GTK_WIDGET(gtk_builder_get_object(builder, "my_button")); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(button, "clicked", G_CALLBACK(on_button_clicked), NULL); gtk_widget_show_all(window); Основные элементы ----------------- - `` — корневой элемент - `` — виджет или контейнер - `` — свойство виджета (например, title, label, visible) - `` — дочерний элемент контейнера - `` — связывает сигнал с обработчиком - `