- PyGTK 教程
- PyGTK - 首頁
- PyGTK - 簡介
- PyGTK - 環境
- PyGTK - Hello World
- PyGTK - 重要類
- PyGTK - 視窗類
- PyGTK - 按鈕類
- PyGTK - 標籤類
- PyGTK - 輸入框類
- PyGTK - 訊號處理
- PyGTK - 事件處理
- PyGTK - 容器
- PyGTK - 箱式容器類
- PyGTK - 按鈕箱類
- PyGTK - 對齊類
- PyGTK - 事件框類
- PyGTK - 佈局類
- PyGTK - 組合框類
- PyGTK - 切換按鈕類
- PyGTK - 複選框類
- PyGTK - 單選按鈕類
- PyGTK - 選單欄、選單和選單項
- PyGTK - 工具欄類
- PyGTK - 調整類
- PyGTK - 範圍類
- PyGTK - 刻度類
- PyGTK - 捲軸類
- PyGTK - 對話方塊類
- PyGTK - 訊息對話方塊類
- PyGTK - 關於對話方塊類
- PyGTK - 字型選擇對話方塊
- PyGTK - 顏色選擇對話方塊
- PyGTK - 檔案選擇對話方塊
- PyGTK - 筆記本類
- PyGTK - 框架類
- PyGTK - 帶長寬比的框架類
- PyGTK - 樹形檢視類
- PyGTK - 分割窗格類
- PyGTK - 狀態列類
- PyGTK - 進度條類
- PyGTK - 視口類
- PyGTK - 滾動視窗類
- PyGTK - 箭頭類
- PyGTK - 圖片類
- PyGTK - 繪圖區類
- PyGTK - 旋轉按鈕類
- PyGTK - 日曆類
- PyGTK - 剪貼簿類
- PyGTK - 標尺類
- PyGTK - 超時
- PyGTK - 拖放
- PyGTK 有用資源
- PyGTK - 快速指南
- PyGTK - 有用資源
- PyGTK - 討論
PyGTK - 筆記本類
Notebook 小部件是一個帶選項卡的容器。此容器中的每個選項卡都包含一個不同的頁面,並且這些頁面以重疊的方式顯示。透過單擊選項卡的標籤,可以使任何所需的頁面可見。可以配置標籤以在頂部、底部、左側或右側顯示。每個頁面下放置了一個包含其他小部件的容器小部件或單個小部件。
如果要顯示的資料在一個檢視中太大,則將其分組到不同的頁面中,每個頁面都放置在 Notebook 小部件的一個選項卡下。這種型別的控制元件非常廣泛地使用。例如,Internet 瀏覽器使用這種選項卡式顯示在不同的選項卡中呈現不同的頁面。
以下是 gtk.Notebook 類的建構函式:
gtk.Notebook()
以下是 gtk.Notebook 類中常用的方法:
append_page(child, label) − 將一個頁面附加到筆記本,該頁面包含一個小部件,由 tab_label 指定為選項卡上的標籤。如果 tab_label 可以為 None 以使用預設標籤。
insert_page(child, label, position) − 在由 position 指定的位置將一個頁面插入到筆記本中。
remove_page(index) − 刪除指定索引處的頁面。
get_current_page() − 返回當前頁面的頁面索引。
set_current_page(index) − 切換到由索引指定的頁面編號。
set_show_tabs() − 如果為假,則選項卡將不可見。預設情況下為真。
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 小部件發出以下訊號:
| change-current-page | 發出頁面向前或頁面向後請求時發出此訊號 |
| focus-tab | 透過製表符更改焦點時發出此訊號。 |
| page-added | 向筆記本新增頁面時發出此訊號。 |
| page-removed | 從筆記本中刪除頁面後發出此訊號。 |
| select-page | 選擇新的子頁面時發出此訊號。 |
| switch-page | 筆記本頁面更改時發出此訊號。 |
示例
在以下示例中,一個帶有三個頁面的 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()
執行後,上述程式碼將顯示一個帶有三個頁面的 Notebook: