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 -