- PyGTK 教程
- PyGTK - 主页
- PyGTK - 简介
- PyGTK - 环境
- PyGTK - 你好世界
- PyGTK - 重要类
- PyGTK - 窗口类
- PyGTK - 按钮类
- PyGTK - 标签类
- PyGTK - 入门级
- PyGTK - 信号处理
- PyGTK - 事件处理
- PyGTK - 容器
- PyGTK - 盒子类
- PyGTK - ButtonBox 类
- PyGTK - 对齐类
- PyGTK - EventBox 类
- PyGTK - 布局类
- PyGTK - 组合框类
- PyGTK - ToggleButton 类
- PyGTK - CheckButton 类
- PyGTK - 单选按钮类
- PyGTK - 菜单栏、菜单和菜单项
- PyGTK - 工具栏类
- PyGTK - 调整类
- PyGTK - 范围类
- PyGTK - 规模类
- PyGTK - 滚动条类
- PyGTK - 对话框类
- PyGTK - 消息对话框类
- PyGTK - AboutDialog 类
- PyGTK - 字体选择对话框
- PyGTK - 颜色选择对话框
- PyGTK - 文件选择器对话框
- PyGTK - 笔记本类
- PyGTK - 框架类
- PyGTK - AspectFrame 类
- PyGTK - TreeView 类
- PyGTK - 窗格类
- PyGTK - 状态栏类
- PyGTK - ProgressBar 类
- PyGTK - 视口类
- PyGTK - 滚动窗口类
- PyGTK - 箭头类
- PyGTK - 图像类
- PyGTK - DrawingArea 类
- PyGTK - SpinButton 类
- PyGTK - 日历类
- PyGTK - 剪贴板类
- PyGTK - 标尺类
- PyGTK - 超时
- PyGTK - 拖放
- PyGTK 有用资源
- PyGTK - 快速指南
- PyGTK - 有用的资源
- PyGTK - 讨论
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,选项卡将不可见。默认情况下这是 True。
set_tab_pos(pos) - 这设置在笔记本中绘制用于切换页面的选项卡的边缘。预定义常量是 -
gtk.POS_LEFT
gtk.POS_RIGHT
gtk.POS_TOP
gtk.POS_BOTTOM
set_tab_label_text(child, text) - 这将创建一个带有指定文本的新标签,并将其设置为包含子页面的选项卡标签。
gtk.Notebook 小部件发出以下信号 -
更改当前页面 | 当发出向前翻页或向后翻页请求时会发出此信号 |
焦点选项卡 | 当通过 Tab 键更改焦点时会发出此信号。 |
添加页面 | 当页面添加到笔记本时会发出此消息。 |
页面已删除 | 从笔记本中删除页面后会发出此消息。 |
选择页面 | 当选择新的子页面时会发出此消息。 |
切换页面 | 当笔记本页面更改时会发出此信号。 |
例子
在以下示例中,具有三页的 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()
执行后,上面的代码显示一个包含三页的笔记本 -