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: