PyGTK - Pfeilklasse
Das Objekt gtk.Arrow wird verwendet, um einen einfachen Pfeil zu zeichnen, der in vier Himmelsrichtungen zeigt. Diese Klasse wird von der geerbtgtk.Misc Klasse und Objekt belegen den ihr zugewiesenen Platz, z. B. ein Label- oder Button-Widget.
In der Regel wird das Pfeilobjekt mit dem folgenden Konstruktor erstellt:
Arr = gtk.Arrow(arrow_type, shadow_type)
Die vordefinierten Konstanten für den Pfeiltyp sind -
- gtk.ARROW_UP
- gtk.ARROW_DOWN
- gtk.ARROW_LEFT
- gtk.ARROW_RIGHT
Die vordefinierten Konstanten für shadow_type sind in der folgenden Tabelle aufgeführt:
gtk.SHADOW_NONE | Keine Gliederung. |
gtk.SHADOW_IN | Der Umriss ist nach innen abgeschrägt. |
gtk.SHADOW_OUT | Der Umriss ist wie ein Knopf nach außen abgeschrägt. |
gtk.SHADOW_ETCHED_IN | Der Umriss selbst ist eine nach innen gerichtete Abschrägung, aber der Rahmen ist nach außen abgeschrägt. |
gtk.SHADOW_ETCHED_OUT | Der Umriss ist eine nach außen gerichtete Abschrägung, der Rahmen ist nach innen abgeschrägt. |
Beispiel
Im folgenden Beispiel werden einer Hbox vier Schaltflächen-Widgets hinzugefügt. Über jeder Schaltfläche befindet sich ein gtk.Arrow-Objekt, das nach OBEN, UNTEN, LINKS und RECHTS zeigt. Der HBOX-Container wird mithilfe eines Ausrichtungscontainers am unteren Rand des Fensters auf oberster Ebene platziert.
Beachten Sie den 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()
Der obige Code generiert die folgende Ausgabe: