Блокнот для ноутбука — это контейнер с вкладками. Каждая вкладка в этом контейнере содержит отдельную страницу, и страницы отображаются в наложенном виде. Любая нужная страница становится видимой, нажав на ярлык вкладки. Метки можно настроить так, чтобы они отображались сверху или снизу или слева или справа. Контейнерный виджет с размещенными в нем другими виджетами или один виджет размещается под каждой страницей.
Если отображаемые данные слишком велики в одном представлении, они группируются на разных страницах, каждая из которых размещается на одной вкладке виджета «Блокнот». Этот тип контроля очень широко используется. Интернет-браузер, например, использует этот дисплей с вкладками для отображения разных страниц на разных вкладках.
Ниже приведен конструктор класса gtk.Notebook —
gtk.Notebook()
Ниже приведены часто используемые методы класса gtk.Notebook.
-
append_page (child, label) — добавляет страницу в блокнот, содержащую виджет, указанный tab_label в качестве метки на вкладке. Если tab_label может быть None, чтобы использовать метку по умолчанию.
-
insert_page (child, label, position) — вставляет страницу в блокнот в месте, указанном позицией.
-
remove_page (index) — это удаляет страницу по указанному индексу.
-
get_current_page () — возвращает индекс страницы текущей страницы.
-
set_current_page (index) — переключается на номер страницы, указанный индексом.
-
set_show_tabs () — если false, вкладки не будут видны. Это правда по умолчанию.
-
set_tab_pos (pos) — устанавливает край, на котором отображаются вкладки для переключения страниц в блокноте. Предопределенные константы —
-
gtk.POS_LEFT
-
gtk.POS_RIGHT
-
gtk.POS_TOP
-
gtk.POS_BOTTOM
-
-
set_tab_label_text (child, text) — это создает новую метку с указанным текстом и устанавливает ее в качестве метки вкладки для страницы, содержащей child.
append_page (child, label) — добавляет страницу в блокнот, содержащую виджет, указанный tab_label в качестве метки на вкладке. Если tab_label может быть None, чтобы использовать метку по умолчанию.
insert_page (child, label, position) — вставляет страницу в блокнот в месте, указанном позицией.
remove_page (index) — это удаляет страницу по указанному индексу.
get_current_page () — возвращает индекс страницы текущей страницы.
set_current_page (index) — переключается на номер страницы, указанный индексом.
set_show_tabs () — если false, вкладки не будут видны. Это правда по умолчанию.
set_tab_pos (pos) — устанавливает край, на котором отображаются вкладки для переключения страниц в блокноте. Предопределенные константы —
gtk.POS_LEFT
gtk.POS_RIGHT
gtk.POS_TOP
gtk.POS_BOTTOM
set_tab_label_text (child, text) — это создает новую метку с указанным текстом и устанавливает ее в качестве метки вкладки для страницы, содержащей child.
Виджет gtk.Notebook испускает следующие сигналы:
изменение тока страницы | Выдается, когда выдается запрос на перемотку страницы вперед или назад. |
фокус-вкладка | Это излучается, когда фокус изменяется с помощью вкладок. |
страница добавленной | Это излучается при добавлении страницы в блокнот. |
страниц удалены | Это излучается после удаления страницы из записной книжки. |
выберите-страницы | Это излучается при выборе новой дочерней страницы. |
Переключатель страниц | Это излучается при изменении страницы записной книжки. |
пример
В следующем примере книга gtk.Notebook с тремя страницами помещается в верхний уровень gtk.Window. Первая страница содержит VBox, в котором упакованы метка и поле ввода. На второй странице, помеченной как «квалификация», есть HButtonBox, в который добавлены три взаимоисключающих виджета RadioButton. Третья страница имеет объект TextView. Метки страницы отображаются сверху.
Соблюдайте код —
import gtk class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Notebook Demo") self.set_default_size(250, 200) nb = gtk.Notebook() nb.set_tab_pos(gtk.POS_TOP) vbox = gtk.VBox(False, 5) vb = gtk.VBox() hbox = gtk.HBox(True, 3) valign = gtk.Alignment(0.5,0.25, 0, 0) lbl = gtk.Label("Name of student") vb.pack_start(lbl, True, True, 10) text = gtk.Entry() vb.pack_start(text, True, True, 10) valign.add(vb) vbox.pack_start(valign) nb.append_page(vbox) nb.set_tab_label_text(vbox, "Name") hb = gtk.HButtonBox() btn1 = gtk.RadioButton(None,"Degree") hb.add(btn1) btn2 = gtk.RadioButton(btn1,"P.G.") hb.add(btn2) btn3 = gtk.RadioButton(btn1,"Doctorate") hb.add(btn3) nb.append_page(hb) nb.set_tab_label_text(hb, "Qualification") tv = gtk.TextView() nb.append_page(tv) nb.set_tab_label_text(tv, "about") self.add(nb) self.connect("destroy", gtk.main_quit) self.show_all() if __name__ == '__main__': PyApp() gtk.main()
После выполнения вышеуказанного кода отображается Блокнот с тремя страницами —