Учебники

PyGTK — класс линейки

Это базовый класс для горизонтальных (gtk.Hruler) и вертикальных (gtk.Vruler) линейок, которые полезны для отображения положения указателя мыши в окне. Маленький треугольник в линейке указывает на местоположение указателя.

Объекты линейки создаются с соответствующими конструкторами —

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

Следующие методы класса gtk.Ruler доступны для обоих производных классов:

  • Ruler.set_metric () — устанавливает единицу измерения. Предопределенные константы метрики: gtk.PIXELS (по умолчанию), gtk.INCHES и gtk.CENTIMETERS

  • Ruler.set_range () — устанавливает нижнюю и верхнюю границы, положение и максимальный размер линейки.

Ruler.set_metric () — устанавливает единицу измерения. Предопределенные константы метрики: gtk.PIXELS (по умолчанию), gtk.INCHES и gtk.CENTIMETERS

Ruler.set_range () — устанавливает нижнюю и верхнюю границы, положение и максимальный размер линейки.

В приведенном ниже примере горизонтальные и вертикальные линейки размещены над и слева от виджета gtk.TextView.

Измерение горизонтальной линейки в пикселях. Его минимальное и максимальное значения равны 0 и 400 соответственно. Он находится в верхнем ряду gtk.VBox.

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

Нижний ряд Vbox содержит HBox. Вертикальная линейка и виджет TextView, в который можно вводить многострочный текст, упакованы.

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

пример

Соблюдайте следующий код —

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

Вывод, сгенерированный вышеуказанной программой, напоминает документ MS Word —