Нарисуй записную книжку с поляной. Если вы щелкнете правой кнопкой мыши по вкладке, которую хотите изменить, вы можете удалить ее содержимое. (Вкладка может содержать один виджет, хотя вы можете поместить HBox или Grid для объединения нескольких).
После удаления вы можете вставить любой другой виджет в него. Вот пример:
Окно с блокнотом. Содержание первой вкладки удалено
Вставлено поле, но по умолчанию оно вертикальное, поэтому ...
Я изменилсвойство горизонтальное
Я вставил виджет изображения в первый пробел и кнопку выбора во второй. (Измените тему компьютера, чтобы сделать ее немного более заметной.
Если вы хотите добавить страницы из своего C-кода, вы тоже можете это сделать, просто получите ссылку на блокнот, а затем измените содержимое вкладки. .
Как примечание, я бы рекомендовал использовать Python в качестве менеджера вашего GUI. Управление GUI в Gtk и C - используя Glade или нет - утомительно. В сети есть несколько примеров того, каксделать это:
- Использование внешнего интерфейса Python GTK GUI с бэкэндом C ++
- Как использовать GTK + 3 в Python для управления всем приложением
Этот код прекрасно добавляет новую вкладку:
notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook1"));
if (!notebook) {
g_critical ("Widget \"%s\" is missing in file %s.",
TOP_WINDOW, "notebook1");
}
tab_label = gtk_label_new ("New page's tab");
page_contents = gtk_label_new ("New page's contents");
gtk_notebook_append_page(notebook, page_contents, tab_label);
Обратите внимание, что вы должны поместить "notebook1" в поле идентификатора виджета блокнота в Glade.