PyGTK - Linealklasse

Dies ist eine Basisklasse für horizontale (gtk.Hruler) und vertikale (gtk.Vruler) Lineale, die nützlich sind, um die Position des Mauszeigers im Fenster anzuzeigen. Ein kleines Dreieck im Lineal zeigt die Position des Zeigers an.

Linealobjekte werden mit ihren jeweiligen Konstruktoren erstellt -

hrule = gtk.Hruler()
vrule = gtk.Vruler()

Die folgenden gtk.Ruler-Klassenmethoden sind für beide abgeleiteten Klassen verfügbar:

  • Ruler.set_metric () - Hiermit wird die Maßeinheit festgelegt. Die vordefinierten Metrikkonstanten sind: gtk.PIXELS (Standard), gtk.INCHES und gtk.CENTIMETERS

  • Ruler.set_range () - Hiermit werden die unteren und oberen Grenzen, die Position und die maximale Größe des Lineals festgelegt.

Im folgenden Beispiel werden die horizontalen und vertikalen Lineale über und links von einem gtk.TextView-Widget platziert.

Die Messung des horizontalen Lineals erfolgt in Pixel. Seine Minimal- und Maximalwerte sind 0 bzw. 400. Es befindet sich in der oberen Reihe einer gtk.VBox.

hrule = gtk.HRuler()
hrule.set_metric(gtk.PIXELS)
hrule.set_range(0, 4,0,0.5)
vbox.pack_start(hrule)

Die untere Reihe von Vbox enthält eine HBox. Ein vertikales Lineal und ein TextView-Widget, in das ein mehrzeiliger Text eingegeben werden kann, sind gepackt.

vrule=gtk.VRuler()
vrule.set_metric(gtk.PIXELS)
vrule.set_range(0, 4, 10, 0.5)
hbox.pack_start(vrule)

Beispiel

Beachten Sie den folgenden Code -

import gtk
class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      
	  self.set_title("Ruler demo")
      self.set_size_request(400,400)
      self.set_position(gtk.WIN_POS_CENTER)
		
      vbox = gtk.VBox()
      tv = gtk.TextView()
      tv.set_size_request(350,350)
		
      hrule = gtk.HRuler()
      hrule.set_metric(gtk.PIXELS)
      hrule.set_range(0, 4,0,0.5)
		
      vbox.pack_start(hrule)
      hbox = gtk.HBox()
      vrule = gtk.VRuler()
		
      vrule.set_metric(gtk.PIXELS)
      vrule.set_range(0, 4, 10, 0.5)
		
      hbox.pack_start(vrule)
      halign = gtk.Alignment(0.5, 0.5, 0, 0)
      halign.add(tv)
		
      hbox.pack_start(halign, False, True, 10)
      vbox.add(hbox)
		
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

PyApp()
gtk.main()

Die vom obigen Programm erzeugte Ausgabe ähnelt einem MS Word-Dokument -