PyGTK - Araç Çubuğu Sınıfı

Araç çubuğu sınıfı, gtk.Container sınıfından miras alınır. Bir dizi düğmeyi ve diğer widget'ları tutar ve yönetir. Bir veya daha fazla yatay düğme şeridi normalde üst düzey bir pencerede menü çubuğunun hemen altında görülür. Araç Çubuğu, Tutamaç Kutusu adı verilen ayrılabilir bir pencereye de yerleştirilebilir. Varsayılan olarak, gtk.Toolbar widget'ındaki düğmeler yatay olarak yerleştirilmiştir. Dikey araç çubuğu, yönlendirme özelliği şu şekilde ayarlanarak ayarlanabilir:gtk.ORIENTATION_VERTICAL.

Araç çubuğu, simgeler, metin veya her ikisini birden içeren düğmeleri gösterecek şekilde yapılandırılabilir. Stil numaralandırıcıları -

gtk.TOOLBAR_ICONS Bu düğmeler yalnızca araç çubuğundaki simgeleri görüntüler.
gtk.TOOLBAR_TEXT Bu düğmeler, araç çubuğunda yalnızca metin etiketlerini görüntüler.
gtk.TOOLBAR_BOTH Bu düğmeler, araç çubuğunda metin ve simgeleri görüntüler.
gtk.TOOLBAR_BOTH_HORIZ Bu düğmeler, simgeleri ve metinleri dikey olarak yığılmak yerine yan yana görüntüler.

Aşağıdaki yapıcı kullanılarak bir Araç Çubuğu widget'ı oluşturulur -

bar = gtk.Toolbar()

Araç Çubuğunun bileşenleri, gtk.ToolItem örnekleridir. Öğeler ToolButton, RadioToolButton, ToggleToolButton veya SeparatorToolItem olabilir. ToolItem nesnesine simge atamak için önceden tanımlanmış stock_ID'ye sahip görüntüler kullanılabilir veya set_image () yöntemi ile özel bir görüntü atanabilir.

Aşağıdaki örnekler, farklı Araç Öğelerinin nasıl oluşturulacağını gösterir -

ToolButton

newbtn = gtk.ToolButton(gtk.STOCK_NEW)

RadioToolButton

rb1 = gtk.RadioToolButton(None,gtk.STOCK_JUSTIFY_LEFT) 
rb2 = gtk.RadioToolButton(rb1,gtk.STOCK_JUSTIFY_RIGHT)

Birden çok radyo düğmesinin aynı gruba yerleştirildiğini unutmayın.

SeparatorToolItem

sep = gtk.SeparatorToolItem()

Bu öğeler araç çubuğuna, insert yöntem.

gtk.Toolbar.insert(item, index)

Örneğin,

bar.insert(new,0)

Ayrıca set_tooltip_text () yöntemini kullanarak ToolButton'a bir araç ipucu atayabilirsiniz. Örneğin,New araç ipucu, yeni Araç Düğmesine atanır.

newbtn.set_tooltip_text("New")

Misal

Aşağıdaki kod, normal araç öğesi, radyo öğeleri ve bir ayırıcı öğe içerecek şekilde ayarlanmış bir araç çubuğuna sahip bir üst düzey pencereyi gösterir.

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()

Yukarıdaki kod aşağıdaki çıktıyı üretecektir -