LINUX.ORG.RU

GtkNotebook, переключение между страницами


0

0

я создаю контейнер типа GtkNotebook

/* ......... */

/* Инициализируем подсистему формирования GUI */

gtk_init (&argc, &argv);

group = gtk_accel_group_new ();

/* Создаем главное окно программы */

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

gtk_window_set_title (GTK_WINDOW (window), APPNAME);

gtk_widget_set_size_request (window, 800, 600);

/* Соединяем событие «destroy» с обработчиком сигнала */

g_signal_connect(G_OBJECT (window), «destroy», G_CALLBACK(gtk_main_quit), NULL);

/* Создаем вертикальный контейнер для меню и области редактирования */

vbox = gtk_vbox_new(FALSE, 0);

gtk_container_add (GTK_CONTAINER (window), vbox);

/* Создаем notebook */

notebook = gtk_notebook_new ();

/* Создаем виджеты для страниц */

label_1 = gtk_label_new («Редактор»);

label_2 = gtk_label_new («Справочник»);

/* Добавляем страницы */

gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_1, NULL);

gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_2, NULL);

/* ......... */

/* Позиционируем справочник вертикально */

gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);

/* ......... */

/* Позиционируем область редактирования вертикально */

gtk_box_pack_start(GTK_BOX(vbox), notebook, FALSE, TRUE, 0);

На первой странице должен быть обычный редактор, на второй - телефонная книга. Как осуществить возможность переключения между редактором и справочником?


Ответ на: комментарий от Holly

а, понятно.

в gtk_notebook_append_page(), в child_widget надо указывать не какой-то левый label, а свой контейнер, содержащий нужные тебе виджеты (редактор и телефонную книгу). а метки для вкладок задаются через gtk_notebook_set_tab_label()

ananas ★★★★★
()

А вот сохранение документа: в документации всюду встречаются строки save_to_file и user_edited_a_new_document. Как их описывают?

Holly
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.