- 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 - 工具欄類
工具欄類繼承自 gtk.Container 類。它容納並管理一組按鈕和其他部件。在頂級視窗的選單欄下方通常可以看到一個或多個水平排列的按鈕條。工具欄也可以放在一個稱為 HandleBox 的可分離視窗中。預設情況下,gtk.Toolbar 部件中的按鈕水平排列。可以透過將 orientation 屬性設定為 **gtk.ORIENTATION_VERTICAL** 來設定垂直工具欄。
工具欄可以配置為顯示帶有圖示、文字或兩者的按鈕。樣式列舉器如下:
| gtk.TOOLBAR_ICONS | 這些按鈕僅在工具欄中顯示圖示。 |
| gtk.TOOLBAR_TEXT | 這些按鈕僅在工具欄中顯示文字標籤。 |
| gtk.TOOLBAR_BOTH | 這些按鈕在工具欄中顯示文字和圖示。 |
| gtk.TOOLBAR_BOTH_HORIZ | 這些按鈕並排顯示圖示和文字,而不是垂直堆疊。 |
使用以下建構函式設定工具欄部件:
bar = gtk.Toolbar()
工具欄的組成部分是 gtk.ToolItem 的例項。這些專案可以是 ToolButton、RadioToolButton、ToggleToolButton 或 SeparatorToolItem。為了給 ToolItem 物件分配圖示,可以使用具有預定義 stock_ID 的影像,或者可以透過 set_image() 方法分配自定義影像。
以下示例顯示如何構造不同的 ToolItem:
ToolButton
newbtn = gtk.ToolButton(gtk.STOCK_NEW)
RadioToolButton
rb1 = gtk.RadioToolButton(None,gtk.STOCK_JUSTIFY_LEFT) rb2 = gtk.RadioToolButton(rb1,gtk.STOCK_JUSTIFY_RIGHT)
請注意,多個單選按鈕位於同一組中。
SeparatorToolItem
sep = gtk.SeparatorToolItem()
這些專案透過呼叫其 **insert** 方法新增到工具欄中。
gtk.Toolbar.insert(item, index)
例如:
bar.insert(new,0)
您還可以使用 set_tooltip_text() 方法為 ToolButton 分配工具提示。例如,將 **新建** 工具提示分配給新的 ToolButton。
newbtn.set_tooltip_text("New")
示例
以下程式碼顯示一個頂級視窗,其中設定了一個工具欄,其中包含普通工具項、單選專案和分隔符專案。
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Toolbar Demo")
self.set_default_size(250, 200)
self.set_position(gtk.WIN_POS_CENTER)
toolbar = gtk.Toolbar()
toolbar.set_style(gtk.TOOLBAR_ICONS)
toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
newbtn = gtk.ToolButton(gtk.STOCK_NEW)
newbtn.set_tooltip_text("New")
openbtn = gtk.ToolButton(gtk.STOCK_OPEN)
savebtn = gtk.ToolButton(gtk.STOCK_SAVE)
sep = gtk.SeparatorToolItem()
rb1 = gtk.RadioToolButton(None,gtk.STOCK_JUSTIFY_LEFT)
53
rb2 = gtk.RadioToolButton(rb1,gtk.STOCK_JUSTIFY_RIGHT)
prv = gtk.ToggleToolButton(gtk.STOCK_PRINT_PREVIEW)
quitbtn = gtk.ToolButton(gtk.STOCK_QUIT)
toolbar.insert(newbtn, 0)
toolbar.insert(openbtn, 1)
toolbar.insert(savebtn, 2)
toolbar.insert(sep, 3)
toolbar.insert(rb1,4)
toolbar.insert(rb2,5)
toolbar.insert(prv,6)
toolbar.insert(quitbtn, 7)
quitbtn.connect("clicked", gtk.main_quit)
vbox = gtk.VBox(False, 2)
vbox.pack_start(toolbar, False, False, 0)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
def on_checked(self, widget, data = None):
state = "Button1 : "+str(self.btn1.get_active())+"
Button2 : "+str(self.btn2.get_active())
self.lbl.set_text(state)
if __name__ == '__main__':
PyApp()
gtk.main()
以上程式碼將生成以下輸出:
廣告