簡體   English   中英

Python GTK(Glade)筆記本

[英]Python GTK (Glade) Notebook

我目前正在使用 GTK+(和 Glade)在 Python 中開發一個小型應用程序。 到目前為止,一切都很容易集成,直到我想出了添加選項卡而不是彈出窗口的想法。 注意:仍然使用 Python 2.7+

有沒有什么簡單的方法可以在新標簽(筆記本)之類的結構中實現現有頁面? 我很難找到如何為在 Glade 中創建的每個單獨的選項卡添加內容。 也許有一個更“明確”的問題:使用每個不同的選項卡調用特定的 V/HBox 需要什么 Notebook 函數? 當前結構看起來像(減去菜單/狀態欄):

[ mainWindow ] --> (1) mainOverview (gtkVbox) --> (2A) mainContent (gtkHbox) ... other non-related content

我希望的結構看起來像:

[ mainWindow ] --> (1) mainOverview --> (2) noteBook --> (3) Tab1 --> (4) mainContent (gtkHbox) -- (3) Tab2 --> (4) secondaryContent (gtkHbox)

應用程序本身在沒有選項卡的情況下運行良好(多線程,功能齊全), mainContent(gtkHbox)包含一個文件/遞歸目錄分析器、幾個復選框和一個總體概述。 我希望的一種簡單的方法來顯示該主窗口( gtkHbox僅具有當) Tab1選擇。

很難找到好的參考頁面,這些頁面顯示了按筆記本選項卡調用內容頁面的正確方法。 非常感謝任何參考頁面或有用的鏈接! 到目前為止,謝謝! 如果這是一個相當新的問題,我很抱歉,我對 Python 編碼並不陌生,但另一方面,接口......;)

不是答案,但看起來像“another.anon.coward”已經在評論中回答了這個問題......

如果雙擊選項卡,則選擇該頁面以在glade中添加內容。 您可以繼續為該頁面添加內容。 至於切換,您可以使用set_current_page切換到要顯示其內容的頁面。 注冊“switch-page”信號以找出切換到的頁面。

單擊空地左側的小部件瀏覽器(對象檢查器)上的筆記本小部件。 然后使用左右鍵盤箭頭鍵在選項卡之間移動。 您也可以雙擊選項卡的標簽,如pyrotherm 在他的回答中所說。 但是,如果您想以編程方式執行此操作,請使用 Gtk.builder 類的 get_object 方法從 ui 中獲取 notebook 對象。 然后執行此操作以添加頁面

builder = Gtk.Builder()
builder.add_from_file("example.glade")

self.notebook = builder.get_object("notebook1") # set the id of the notebook in glade
self.page1 = Gtk.Box()
self.page1.add(Gtk.Label(label="Default Page!"))
self.notebook.append_page(self.page1, Gtk.Label(label="Plain Title"))

現在添加你想要的內容。 現在是信號。 Pyrotherm 已經給出了答案。 雖然沒有名為 switch-page 的信號。 其名為 switch_page。 您可以在此處查看筆記本的信號列表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM