PyGTK - Arrow Sınıfı

Gtk.Arrow nesnesi, dört ana yönü gösteren basit bir ok çizmek için kullanılır. Bu sınıf,gtk.Misc sınıf ve nesne, kendisine ayrılan herhangi bir alanı, örneğin bir Etiket veya Düğme parçacığını kaplar.

Tipik olarak, Arrow nesnesi aşağıdaki yapıcı kullanılarak oluşturulur -

Arr = gtk.Arrow(arrow_type, shadow_type)

Önceden tanımlanmış arrow_type sabitleri -

  • gtk.ARROW_UP
  • gtk.ARROW_DOWN
  • gtk.ARROW_LEFT
  • gtk.ARROW_RIGHT

Önceden tanımlanmış shadow_type sabitleri aşağıdaki tabloda listelenmiştir -

gtk.SHADOW_NONE Anahat yok.
gtk.SHADOW_IN Anahat içe doğru eğimlidir.
gtk.SHADOW_OUT Anahat, bir düğme gibi dışa doğru eğimlidir.
gtk.SHADOW_ETCHED_IN Dış hattın kendisi içe doğru bir eğimdir, ancak çerçeve dışa doğru eğimlidir.
gtk.SHADOW_ETCHED_OUT Anahat dışa doğru bir eğimdir, çerçeve içe doğru eğimlidir.

Misal

Aşağıdaki örnekte, bir Hbox'a dört Düğme widget'ı eklenmiştir. Her düğmenin üstüne sırasıyla YUKARI, AŞAĞI, SOL ve SAĞı gösteren bir gtk.Arrow nesnesi yerleştirilir. HBOX kabı, bir Hizalama kabı yardımıyla üst düzey pencerenin altına yerleştirilir.

Kodu inceleyin -

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Arrow Demo")
      self.set_size_request(300, 200)
      self.set_position(gtk.WIN_POS_CENTER)
		
      vbox = gtk.VBox(False, 5)
      hbox = gtk.HBox(True, 3)
      valign = gtk.Alignment(0, 1, 0, 0)
      vbox.pack_start(valign)
		
      arr1 = gtk.Arrow(gtk.ARROW_UP, gtk.SHADOW_NONE)
      arr2 = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_NONE)
      arr3 = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_NONE)
      arr4 = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE)
		
      btn1 = gtk.Button()
      btn1.add(arr1)
      btn2 = gtk.Button()
      btn2.add(arr2)
      btn3 = gtk.Button()
      btn3.add(arr3)
      btn4 = gtk.Button()
      btn4.add(arr4)
		
      hbox.add(btn1)
      hbox.add(btn2)
      hbox.add(btn3)
      hbox.add(btn4)
		
      halign = gtk.Alignment(0.5, 0.5, 0, 0)
      halign.add(hbox)
		
      vbox.pack_start(halign, False, True, 10)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

PyApp()
gtk.main()

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