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 -