Учебники

PyGTK — класс ноутбуков

Блокнот для ноутбука — это контейнер с вкладками. Каждая вкладка в этом контейнере содержит отдельную страницу, и страницы отображаются в наложенном виде. Любая нужная страница становится видимой, нажав на ярлык вкладки. Метки можно настроить так, чтобы они отображались сверху или снизу или слева или справа. Контейнерный виджет с размещенными в нем другими виджетами или один виджет размещается под каждой страницей.

Если отображаемые данные слишком велики в одном представлении, они группируются на разных страницах, каждая из которых размещается на одной вкладке виджета «Блокнот». Этот тип контроля очень широко используется. Интернет-браузер, например, использует этот дисплей с вкладками для отображения разных страниц на разных вкладках.

Ниже приведен конструктор класса 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()

После выполнения вышеуказанного кода отображается Блокнот с тремя страницами —