PyGTK - Classe de règle

Il s'agit d'une classe de base pour les règles horizontales (gtk.Hruler) et verticales (gtk.Vruler) qui sont utiles pour afficher la position du pointeur de la souris dans la fenêtre. Un petit triangle dans la règle indique l'emplacement du pointeur.

Les objets Ruler sont créés avec leurs constructeurs respectifs -

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

Les méthodes de classe gtk.Ruler suivantes sont disponibles pour les deux classes dérivées -

  • Ruler.set_metric () - Ceci définit l'unité de mesure. Les constantes métriques prédéfinies sont: gtk.PIXELS (par défaut), gtk.INCHES et gtk.CENTIMETERS

  • Ruler.set_range () - Ceci définit les limites inférieures et supérieures, la position et la taille maximale de la règle.

Dans l'exemple ci-dessous, les règles horizontales et verticales sont placées au-dessus et à gauche d'un widget gtk.TextView.

La mesure de la règle horizontale est en pixels. Ses valeurs minimum et maximum sont respectivement 0 et 400. Il est placé dans la rangée supérieure d'une gtk.VBox.

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

La rangée inférieure de Vbox contient une HBox. Une règle verticale et un widget TextView, dans lesquels un texte multiligne peut être saisi, sont emballés.

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

Exemple

Respectez le code suivant -

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

La sortie générée par le programme ci-dessus ressemble à un document MS Word -