PyGTK - Classe de flèche

L'objet gtk.Arrow est utilisé pour dessiner une simple flèche pointant vers quatre directions cardinales. Cette classe est héritée dugtk.Misc class et l'objet occupera n'importe quel espace qui lui est alloué, par exemple, un widget Label ou Button.

En règle générale, l'objet Arrow est créé à l'aide du constructeur suivant -

Arr = gtk.Arrow(arrow_type, shadow_type)

Les constantes de type arrow_type prédéfinies sont -

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

Les constantes shadow_type prédéfinies sont répertoriées dans le tableau suivant -

gtk.SHADOW_NONE Pas de contour.
gtk.SHADOW_IN Le contour est biseauté vers l'intérieur.
gtk.SHADOW_OUT Le contour est biseauté vers l'extérieur comme un bouton.
gtk.SHADOW_ETCHED_IN Le contour lui-même est un biseau vers l'intérieur, mais le cadre est biseauté vers l'extérieur.
gtk.SHADOW_ETCHED_OUT Le contour est un biseau vers l'extérieur, le cadre biseauté vers l'intérieur.

Exemple

Dans l'exemple suivant, quatre widgets Button sont ajoutés à une Hbox. Au-dessus de chaque bouton, un objet gtk.Arrow pointant respectivement HAUT, BAS, GAUCHE et DROITE est placé. Le conteneur HBOX est placé au bas de la fenêtre de niveau supérieur à l'aide d'un conteneur d'alignement.

Observez le code -

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

Le code ci-dessus générera la sortie suivante -